Commit Graph

82 Commits

Author SHA1 Message Date
aarzilli
0f4b5150c3 proc, terminal: stepout command
Command to step out of the currently executing function.

Implements #358
2016-10-23 17:09:26 +02:00
aarzilli
80952e14d4 proc, terminal: step-instruction on parked goroutines 2016-06-24 21:22:30 +02:00
aarzilli
6faa78ff7c proc, terminal: step on parked goroutines
Previously Step would step through the goroutine associated with
CurrentThread if SelectedGoroutine was parked
2016-06-24 21:22:30 +02:00
aarzilli
d17c7c3a61 proc, terminal: next on parked goroutines
Previously Next would step through the goroutine associated with
CurrentThread if SelectedGoroutine was parked

Also fixes a bug with proc.(*Process).StepInto where StepInto could
switch to a different goroutine.
2016-06-24 21:22:30 +02:00
Alessandro Arzilli
7761faad5b terminal: show current thread of goroutines (#564) 2016-06-20 10:20:44 -07:00
Derek Parker
62f8e2b5ad terminal: Display commands in alphabetical order 2016-05-20 10:33:08 -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
Alessandro Arzilli
c4e01da5ca terminal,service: auto-continue during next and step (#448)
* proc: bugfix: StepInto can not function when temp bps exist

* terminal,service: auto-continue during next and step

Make dlv call continue automatically when a breakpoint is hit on a
different goroutine during a next or step operation.
Added API hooks to implement the other solution to this problem (cancel
the next/step operation if a different breakpoint is hit).

Fixes #387
2016-04-24 16:20:02 -07:00
Alessandro Arzilli
7820921b7e service: Make Halt work during tracing (#469)
While tracing delve may spend most of its time outside of
proc.(*Process).Continue, which renders
service/rpc/client.(*Client).Halt ineffective.
This commit changes the implementation of
service/rpc/client.(*Client).Halt to make it capable of stopping traces.
2016-04-24 10:30:43 -07:00
Alessandro Arzilli
473b66387c proc: Improvements to Variable printing (#444)
* service/api: Removed unused fields of service/api.Function

* proc/eval: Set return variable name to input expression

* all: fine-grained control of loadValue for better variable printing

Makes proc.(*Variable).loadValue loading parameters configurable
through one extra argument of type LoadConfig.
This interface is also exposed through the API so clients can control
how much of a variable delve should read.
2016-04-24 10:15:39 -07:00
aarzilli
e8cb04303a command: fixed documentation for frame.
Issue #510
2016-04-21 11:27:13 +02:00
Wesley Merkel
e60942a39d terminal: show message if there are no vars/locals/args
When the vars, locals, or args commands return no results, nothing is

printed out to the terminal. This commit makes these commands print a

message like `(no locals)` when there is nothing to show. This feedback

is more descriptive of what is being returned than an empty string.
2016-04-06 09:26:10 -07:00
Steve Mynott
b1011b7378 terminal: create "h" alias for "help" command 2016-03-23 18:21:57 -07:00
Hubert Krauze
37f124817d dlv: Misc refactors 2016-03-17 15:32:30 -07:00
aarzilli
c4797ea445 proc: Breakpoint to catch unrecovered panics
Automatically sets a breakpoint on runtime.startpanic, the function
that gets called by runtime.dopanic when a panic is not recovered.

Implements #317
2016-03-09 14:15:30 +01:00
aarzilli
5ba9bcd740 terminal: Mechanism to handle command prefixes
Implements extensible mechanism to specify which commands accept
prefixes (goroutine, frame, on) instead of hardcoding them in
a switch.

Implements #240
2016-02-28 13:38:05 +01:00
aarzilli
c8f4cee97d New command 'types'
Lists all the types defined in the debugged program.
2016-02-27 15:39:11 -08:00
aarzilli
9e588fef72 terminal: Next does not fill BreakpointInfo
Fixes #411
2016-02-25 08:46:12 +01:00
aarzilli
3be65a4c1f service, terminal: Named breakpoints and breakpoint conditions
Implements #109 and #120
2016-02-16 15:59:37 -08:00
Derek Parker
3360a2e997 terminal: Fix disassemble cmd name/improve help msg 2016-02-11 17:16:42 -08:00
aarzilli
e7a9a3ea9a Disassemble command
Implements #368
2016-02-11 16:59:07 -08:00
aarzilli
b370e20cd5 proc: bugs setting next breakpoints
1. A running goroutine is by definition not parked waiting for a
chan recv
2. The FDE end address is intended to be exclusive, the code
interpreted as inclusive and sometimes ended up setting a breakpoint
on a function other than the current one.
2016-02-11 08:28:07 +01:00
Derek Parker
8a1f36a1ce dlv: Flag to print stacktrace on trace subcommand 2016-02-01 09:28:25 +01:00
aarzilli
b94e2bd0ec terminal/command: stack command panics when stack has 1 frame
Insure that the digits function always returns at least 1.

Fixes #354 (partial)
2016-01-29 07:26:41 +01:00
Derek Parker
1bda586115 proc: step now goes to next line, including funcs
This patch modifies the `step` command to step to the next source line,
stepping into any function encountered along the way.

Fixes #360
2016-01-24 15:48:36 -08:00
aarzilli
af54701cb7 terminal/command: bugfix: goroutines doesn't work without arguments
Splitting an empty string results in a one element array with a
single empty string element.

See: http://play.golang.org/p/EzVX64Q82A
2016-01-19 15:24:23 +01:00
Derek Parker
0188dc2c8b misc: cleanup and documentation 2016-01-10 02:10:51 -08:00
aarzilli
708cf2f290 service,terminal: propagating simultaneous breakpoints 2016-01-09 08:44:25 +01:00
Derek Parker
d4bfd25a28 cmd/trace: Shorten file paths in output
Export the function to shorten file paths from the terminal package so
that it can be used in the `trace` subcommand.
2015-12-28 08:46:12 +01:00
aarzilli
a0ba48184e terminal/command: bugfix: wrong check in sourceCommand
Fixes #312
2015-12-15 15:16:24 +01:00
aarzilli
d8ede9b04f terminal: Split arguments inside the command function
Print and set need to receive their argument unsplit to support
complex expressions
2015-11-04 12:28:48 +01:00
aarzilli
50b5fc92e2 Changed api.Variable to have a machine readable value
The new contents of api.Variable are documented in
proc/variables.go.

Implements #243
2015-10-28 18:28:58 -07:00
Jonathan Boulle
49d8b18c10 proc, terminal: fix package docstrings 2015-10-27 19:38:57 -07:00
Derek Parker
d4d4021a41 proc: Update help for new goroutines flags & minor cleanup 2015-10-18 15:02:14 -07:00
aarzilli
cb529eafab terminal,proc: Improved goroutine printing
Three locations are returned for goroutines: its current location,
its current location excluding unexported runtime functions and
the location of its go instruction.
The command 'goroutines' takes a new parameter to select which
location to print (defaulting to current location w/o runtime)
2015-10-18 14:40:52 -07:00
Florin Patan
197c165699 proc/breakpoint Add breakpoint statistics
This adds support for breakpoints statistics

Fixes #247
2015-10-09 16:01:06 -07:00
Derek Parker
40eec12308 terminal/command: Update clearall help text 2015-10-04 10:59:53 -07:00
Derek Parker
c6b5609f77 all: Run go fmt across all files 2015-10-04 10:58:32 -07:00
Konstantin Shaposhnikov
8c01bcc34d terminal/command: add optional linespec argument to clearall
If an optional linespec argument is passed to clearall command then only
breakpoints matching this linespec will be cleared.

Behavior of clearall command without arguments hasn't changed.
2015-10-04 10:49:25 -07:00
aarzilli
eb2bc2a7ee terminal: Implements init file and source command
The 'source' command reads the file specified as argument and executes
it as a list of delve commands.
Additionally a flag '--init' can be passed to delve specifying a file
containing a list of commands to execute on startup.

Issue #96
2015-10-04 10:32:38 -07:00
aarzilli
bc9ac0ec78 terminal/command: check for SelectedGoroutine == nil in goroutines
Fixes #257
2015-10-03 14:29:46 +02:00
Derek Parker
f8b4b45a03 terminal/command: Refactor formatting of line numbers 2015-09-30 08:39:14 -07:00
Derek Parker
80107dba8d terminal: Refactor handling of dumb terminals 2015-09-29 22:42:06 -07:00
Florin Patan
76b9aa03bb terminal/command: Support for dumb terminal
Support for dumb terminal

Fixes #252
2015-09-29 21:55:41 -07:00
aarzilli
c9b517067b Implements set command for pointers and numerical values
set <variable name> <value>
2015-09-28 22:45:06 -07:00
Derek Parker
e02625ab89 terminal/command: Refactor to use stdlib function
Replace function with a stdlib implementation.
2015-09-19 23:58:18 -05:00
Derek Parker
2407005444 terminal/command: Stack no long takes goroutine id
Default numeric argument now simply represents the depth. If you would
like to see the stack trace of another goroutine, use `goroutine <id> bt`.
2015-09-19 23:43:43 -05:00
aarzilli
da39258bec stack command: -full flag prints local variables and arguments of all the functions on the stack trace 2015-09-18 08:34:21 +02:00
Ilia Choly
2c48b60bb4 terminal/command: list command w/ frame & goroutine commands 2015-09-13 11:56:20 -05:00
Ilia Choly
e2acf8ce4a Sort goroutines by ID 2015-09-10 14:12:42 -04:00