Commit Graph

847 Commits

Author SHA1 Message Date
Derek Parker
ab77435223 docs: update comment docs for GetG 2015-12-16 17:16:59 -08:00
Derek Parker
359f252801 travis: allow failures on tip 2015-12-15 15:37:58 -08:00
Derek Parker
67ef867762 proc: prefer %q over escaped quoute 2015-12-15 15:18:52 -08:00
aarzilli
38716dcc26 proc/variables: bugfix: ifaces with types in user defined packages
The concrete type of an interface only contains the abbreviated
package name, we must construct a map from package names to package
paths to be able to resolve the concrete type of an interface.
2015-12-15 15:18:52 -08:00
aarzilli
8346a6ee08 proc/variables: bugfix: disable cast to maps and channels
It's was implemented unintentionally and the unintentional
implementation doesn't work and causes a crash.
2015-12-15 15:18:52 -08:00
aarzilli
141fc4ed21 proc/eval: support for simple builtin functions
supported: len, cap, imag, real, complex
2015-12-15 15:18:52 -08:00
aarzilli
48e13a9045 proc/variables: Support for interface types 2015-12-15 15:18:52 -08:00
aarzilli
2deb7fba20 proc/eval: fix panic slicing or indexing 'nil' 2015-12-15 15:18:52 -08:00
aarzilli
ff3e2344c4 proc/eval: Support type casts between basic types 2015-12-15 15:18:52 -08:00
aarzilli
a0ba48184e terminal/command: bugfix: wrong check in sourceCommand
Fixes #312
2015-12-15 15:16:24 +01:00
Derek Parker
ad5097a8dc proc: Fix parsing of 'BuildVersion' on Go tip
Fixes #301
2015-12-15 08:42:13 +01:00
Derek Parker
0abc772023 build: Add git sha to version output 2015-12-15 08:38:22 +01:00
Derek Parker
4a652b8f91 dev: Fixup Makefile and testsign script 2015-12-13 13:17:56 -08:00
aarzilli
b5cf1572f8 service/debugger: support function spec. with partial package paths
packagename.SomeFunction should match
github.com/someuser/packagename.SomeFunction since the former is
the familiar syntax.
To disambiguate between io.SomeFunction and
github.com/someuser/somepackage/io.SomeFunction specify one extra
slash at the start of the location specifier: /io.SomeFunction.

Fixes Issue #296
2015-12-12 15:01:41 +01:00
aarzilli
e45443b3c4 proc/eval: Return an error when slicing a map over its length
Fixes #288
2015-11-07 11:48:40 +01:00
aarzilli
7a36967b5e proc/variables: unsafe.Pointer support 2015-11-06 17:01:38 -08:00
aarzilli
943c12030a proc/variables: map types support
Use m[n:] to skip the first n keys of a map
Map indexing is implemented with a linear scan

Implements #61, #122
2015-11-06 17:01:38 -08:00
aarzilli
988d529e91 proc/variables: Support chan types
Pretty print will print them with the format:
chan <element type> <queued elements>/<queue size>
2015-11-06 17:01:38 -08:00
aarzilli
c25b9b369a proc/proc_test: Fixed TestStacktraceGoroutine
TestStacktraceGoroutine would occasionally fail due to race
conditions in the test itself
2015-11-06 19:49:36 +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
43b64ec39e proc: Implements expression interpreter
Supported operators:

- All (binary and unary) operators between basic types except <-,
++ and -- (includes & to take the address of an expression)
- Comparison operators between supported compound types
- Typecast of integer constants into pointer types
- struct members
- indexing of arrays, slices and strings
- slicing of arrays, slices and strings
- pointer dereferencing
- true, false and nil constants

Implements #116, #117 and #251
2015-11-04 12:28:48 +01:00
Derek Parker
6f4401654c misc: comment cleanup 2015-10-28 18:37:27 -07:00
aarzilli
d65e832524 proc/variable: changed Value's type to constant.Value 2015-10-28 18:28:58 -07: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
Derek Parker
91939bc9e7 travis: remove tip from allowed failures 2015-10-28 17:39:19 -07:00
Konstantin Shaposhnikov
b0a6dacc1c proc: handle rename of runtime.allg to runtime.allgs
Use runtime.allgs instead of runtime.allg that has been removed in
5a68eb9f25
2015-10-28 20:17:37 +08:00
Jonathan Boulle
49d8b18c10 proc, terminal: fix package docstrings 2015-10-27 19:38:57 -07:00
Derek Parker
d15d450a29 travis: Allow failures on tip 2015-10-22 10:48:52 -07:00
Derek Parker
28e0a322bf proc: Improve 'next' functionality
Instead of trying to be clever and make an 'educated guess' as to where
the flow of control may go next, simple do the more naive, yet correct,
approach of setting a breakpoint everywhere we can in the function and
seeing where we end up. On top of this we were already setting a
breakpoint at the return address and deferred functions, so that remains
the same.

This removes a lot of gnarly, hard to maintain code and takes all the
guesswork out of this command.

Fixes #281
2015-10-22 10:14:24 -07:00
Derek Parker
28ede53b31 git: Update gitignore 2015-10-20 20:55:11 -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
Derek Parker
2b4fef44a5 dlv: Add option to provide build flags
Fixes #253
2015-10-18 10:41:34 -07:00
Derek Parker
7847e94cfa proc: Small refactor 2015-10-18 10:24:38 -07:00
aarzilli
971d7968c0 service/debugger: Bugfix: support pkg names with slashes in linespecs
Fixes #275
2015-10-17 09:31:07 +02:00
Derek Parker
b4fd5718d4 make: Fix 'build' and 'install' targets
Fixes #273
2015-10-09 21:39:17 -07:00
Derek Parker
5e31400a87 travis: Fix Makefile for Linux travis builds 2015-10-09 18:03:24 -07:00
Derek Parker
c8a588c691 travis: Update travis.yml 2015-10-09 17:59:45 -07:00
Derek Parker
10910929b8 all: Use -exec flag to codesign test binary on OSX
Replaces a lot of ugly Makefile nonsense with a script that codesigns
the test binary before it runs. Only applicable to OSX test runs.
2015-10-09 17:56:09 -07:00
Derek Parker
2e71cf2465 proc: refactor: move Process.comm to Process.os.comm
Only used under Linux, no need to have it available on Process itself.
2015-10-09 17:33:16 -07:00
Derek Parker
d8dd9c8d0e proc: Properly close channels upon process exit
Prevents a lot of goroutines hanging around, especially when running
tests.
2015-10-09 17:33:16 -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
f35d4b92be main: Update vendored cobra for bugfix
Additionally removes test code / html / txt / etc from vendor dir.
2015-10-09 07:46:14 -07:00
Quentin Perez
065984f42c Fix 2 x panic: runtime error: index out of range 2015-10-09 10:45:37 +02:00
Derek Parker
56d57ee97a proc: Format & refactor 2015-10-06 18:24:50 -07:00
Luke Hoban
a8512ba11a proc: Move nil check into toField 2015-10-06 18:24:46 -07:00
Luke Hoban
e18aa9da01 proc/variables: Don't print during testcase 2015-10-06 18:17:49 -07:00
Luke Hoban
e6477c01b1 proc/variables: Support for embedded structs
Embedded structs are encoded in DWARF as fields with
package-qualified names.  They define an anonymous field
on the struct with the non-qualified name, as well as
promoted fields for each field of the embedded struct so
long as these are not shadowed by fields of the containing
struct.

Fixes #220.
2015-10-06 18:17:49 -07:00
Konstantin Shaposhnikov
cc9ab6d687 proc: avoid dup chan recv breakpoints
I encountered the error message described in the issue while debugging
InfluxDB. I can confirm that after this fix the error disapeared.

Fixes #258
2015-10-06 18:02:29 -07:00
Derek Parker
c731a83424 proc: Refactor ptrace calls on Darwin 2015-10-06 10:45:36 -07:00