Commit Graph

24 Commits

Author SHA1 Message Date
aarzilli
dcf9d4fc6b terminal: refactor edit/list to share getLocation code
Refactors edit and list so that they use the same code to get the
current location and also both accept a locspec as an argument.
2018-08-31 11:16:42 -07:00
aarzilli
d81d6702e0 terminal: updated call description
Updated call description to reflect current limitations.
2018-08-16 12:44:02 -07:00
Ben Cotterell
22af38364b Add an edit command
Which I miss from gdb-- it's nice to be able to open where you are in
your editor where you're already working on the project you're
debugging.
2018-07-31 13:22:48 -07:00
aarzilli
2925c0310a *: function call injection for go 1.11
Implements the function call injection protocol introduced in go 1.11
by https://go-review.googlesource.com/c/go/+/109699.

This is only the basic support, see TODO comments in pkg/proc/fncall.go
for a list of missing features.

Updates #119
2018-07-13 13:37:54 -07:00
aarzilli
2309f728c1 proc,service,terminal: propagate g.startpc
Adds StartPC to proc.G, StartLoc to api.Goroutine and show the start
location in the command line client when appropriate.

Updates #1104
2018-07-09 17:20:55 -07:00
aarzilli
9a216211d3 proc,terminal,service: let headless instances run without connected clients
This pull request makes several changes to delve to allow headless
instancess that are started with the --accept-multiclient flag to
keep running even if there is no connected client. Specifically:

1. Makes a headless instance started with --accept-multiclient quit
    after one of the clients sends a Detach request (previously they
    would never ever quit, which was a bug).
2. Changes proc/gdbserial and proc/native so that they mark the
    Process as exited after they detach, even if they did not kill the
    process during detach. This prevents bugs such as #1231 where we
    attempt to manipulate a target process after we detached from it.
3. On non --accept-multiclient instances do not kill the target
    process unless we started it or the client specifically requests
    it (previously if the client did not Detach before closing the
    connection we would kill the target process unconditionally)
4. Add a -c option to the quit command that detaches from the
    headless server after restarting the target.
5. Change terminal so that, when attached to --accept-multiclient,
    pressing ^C will prompt the user to either disconnect from the
    server or pause the target process. Also extend the exit prompt to
    ask if the user wants to keep the headless server running.

Implements #245, #952, #1159, #1231
2018-06-26 10:32:40 -07:00
aarzilli
2a2d1040e9 proc: allow "package/path".varname syntax
If the application being debugged imports two packages with the same
name (but different paths) there was no way to disambiguate the two,
since the character '/' can not appear inside a go identifier.

By allowing users to use a string literal as the package name a package
path can be specified.
2018-06-14 09:29:23 -07:00
Chandrashekhara A
3c794eb306 command/terminal: Printing stack trace of all the goroutines (#1212)
Add -t falg to "goroutines" command. For example, "goroutines -t" will
print all the goroutines along with the stack trace.
2018-05-22 11:02:43 -07:00
Derek Parker
38ddb22b68 Documentation: generate new docs (#1185) 2018-04-18 08:46:55 +02:00
Josh Soref
1d3b41f64e all: Spelling 2018-03-20 11:05:35 +01:00
Graham King
0b41a525f6 Documentation: Document passing flags with --. (#1096)
Document how to pass flags to the cli program being debugged.
2018-01-25 11:59:02 -08:00
Chad Whitacre
e949a262f1 Documentation: Fix possessive (#1072) 2018-01-07 13:54:21 -08:00
Derek Parker
01f5b3c8d0 Documentation: Improve link layout, add getting started doc (#1064)
Improve the link ordering for the main README and add a
"Getting Started" doc with basic usage information for new users.
2018-01-04 04:50:44 -08:00
aarzilli
17bd4b52e8 pkg/terminal: -offsets flag for stack command
Prints the frame and frame pointer offsets for each frame.
2017-11-28 11:00:53 -08:00
aarzilli
8f16b371d1 proc/eval: support more type casts
* string to []rune
* string to []byte
* []rune to string
* []byte to string
* any pointer to uintptr

The string, []rune, []byte conversion pairs aligns this to the go
language.
The pointer -> uintptr conversion pair is symmetric to the uintptr ->
pointer that we already have.

Also lets the user specify any size for byte array types instead of
just the ones already used by the program, this can be used to read
arbitrary memory.

Fixes #548, #867
2017-10-25 13:20:25 +02:00
aarzilli
48288edd18 terminal: add config command
Fixes #927, #644
2017-09-08 10:27:32 -07:00
aarzilli
c2092d1669 terminal: implement whatis command
Implements #596
2017-09-08 10:26:19 -07:00
Tao Zhou
fead9fe0f8 doc/cli: fix clear-checkpoint command typo 2017-08-07 15:58:20 -06:00
Joey Geiger
7214ffe20e Add breakpoint init functions suggestion
This is a "fix" for the issue of being unable to see the source when setting a breakpoint on main.init.

Fixes #922
2017-08-01 11:21:06 -06:00
custa
dbc1ce1e5b typo, fix and run 'go run ./scripts/gen-cli-docs.go' (#848) 2017-06-05 14:20:10 -07:00
Alessandro Arzilli
a843f7944e proc/gdbserial: mozilla rr support (#804)
Implements #727
2017-05-05 15:17:52 -07:00
aarzilli
8f0646e426 proc: load more registers
Adds ability to load x87, SSE and AVX registers.

Fixes #666
2016-12-19 21:29:45 +01:00
Nan Xiao
fa1db367fe Docs: Update Documentation/cli/README.md. (#549)
* Docs: Update Documentation/cli/README.md.
2016-05-29 11:59:46 -07:00
Alessandro Arzilli
82ece54737 docs: Documentation for command line frontend (#518)
* documentation: copied old documentation from wiki

* command: better online documentation

Help without arguments prints just a short summary for each command,
help followed by a command prints the command's syntax and a longer
explanation.

* documentation: automatically generate Documentation/cli/README.md
2016-04-29 11:58:19 -07:00