Commit Graph

516 Commits

Author SHA1 Message Date
Derek Parker
533a534560 Update README 2015-02-23 23:36:03 -05:00
Derek Parker
201981b91c Remove Travis support
Currently Travis supports only Ubuntu 12.04 linux 2.6 VMs which are
terribly outdated, and trying to track down why it's hanging on Travis
but not on other similar VMs is more trouble than it's worth at the
moment.

Certainly another more appropriate and up to date CI solution should be
explored.
2015-02-18 09:46:02 -06:00
Derek Parker
e817003af0 Update travis link 2015-02-17 21:46:11 -06:00
Derek Parker
af74da89bf Use svg for travis badge 2015-02-17 21:31:50 -06:00
Derek Parker
15f9da7200 Update travis env 2015-02-17 21:26:21 -06:00
Derek Parker
1489674885 Fix travis apt install 2015-02-17 20:59:38 -06:00
Derek Parker
b8c00f4569 Update Travis badge 2015-02-17 20:56:30 -06:00
Florin Patan
86e60be387 Added TravisCI support and badges 2015-02-17 20:35:19 -06:00
Derek Parker
daf5030023 slight cleanup 2015-02-17 12:27:47 -05:00
Jackie Li
cc5e0e2b1e be consistent on messages for "info" command 2015-02-13 17:15:40 +00:00
Derek Parker
19c62d02fc Bump minor version 2015-02-04 19:23:40 -06:00
Derek Parker
4d88d9ed8d Prefer binary search over tree lookup for FDEs
FDEs previously were loaded into a red/black tree and searched. This is
significantly more expensive than a binary search over a slice. Not sure
what I was thinking using a red/black tree - this binary search
implementation is significantly more efficient.
2015-02-04 19:22:39 -06:00
Derek Parker
49c0d61515 Update CONTRIBUTING guide 2015-02-04 13:31:13 -06:00
Derek Parker
93c96f6a0b Create initial CONTRIBUTING file 2015-02-04 12:20:56 -06:00
epipho
6b843c18eb Removed debugging printf 2015-02-04 13:15:10 -05:00
epipho
46b5348455 Comment cleanup. Added info vars reference to docs 2015-02-04 13:15:10 -05:00
epipho
c7fe4e3e88 Added limit to array size (64) and struct member recursion (2) when printing 2015-02-04 13:15:10 -05:00
epipho
fe8e85e341 Start of info vars 2015-02-04 13:15:10 -05:00
epipho
5231b06a6b Added handler for unknown and void types. Handle nil fn pointers. 2015-02-04 13:15:09 -05:00
Derek Parker
aa8ad88965 Improve documentation 2015-02-02 16:09:56 -05:00
Derek Parker
e001bbfff2 Fix race between Delve and tracee runtime
This commit fixes a race condition between Delve and the runtime of the traced process. When a new thread is created in the traced process, Delve takes note of it and then continue both the new thread, and the thread that called clone. If Delve attempts to use data in `runtime.allm` before the new `m->procid` is set, errors occur. The errors are due to Delve assuming any m with a procid of 0 is the main thread of the process (due to how theGo runtime allocates M's, only `clone`d threads have procid properly set. This causes certain events (like `next`) to happen twice to the main thread, because 2 m's in `runtime.allm` have a `procid` of 0, and also causes various other issues that prevent proper thread coordination from Delve.

Fixes #43
2015-02-01 13:45:20 -05:00
Derek Parker
4f5bfc5ee8 Handle clearing HW breakpoints properly 2015-01-31 20:43:48 -06:00
Derek Parker
5da2e02068 Ensure hardware breakpoints are cleared upon exit 2015-01-30 15:33:56 -06:00
Derek Parker
b0ba87e5e1 Bump micro version 2015-01-26 15:13:27 -06:00
Ellery D'Souza
d4097e3be9 Fixed missing header file "sys/types.h" to fix compiler error 2015-01-26 15:10:21 -06:00
Derek Parker
81bf3c0bec Update/cleanup .gitignore 2015-01-26 15:09:22 -06:00
Paul Sbarra
58de1f7c85 migrate to go.sys subrepository
As of go version 1.4 the standard library syscall package is "locked
down" and code outside of the standard library is recommended to migrate
to the go.sys subrepository.

Reference: https://golang.org/s/go1.4-syscall
2015-01-25 22:43:47 -06:00
Michael Gehring
0d08380555 Fix PtracePeekUser 2015-01-25 21:57:56 +01:00
Michael Gehring
2a66ecb10b Some hw breakpoint fixes
Enable usage of dr1-dr3.  Clear control bits when a breakpoint
is disabled. Use DR_LEN_1 instead of DR_LEN_8 so breakpoint work on
unaligned adresses.

Fixes #51.
2015-01-24 11:10:42 +01:00
Derek Parker
ff789d1df6 Update error message for missing .debug_frame 2015-01-23 14:59:42 -06:00
epipho
d7e535f25b Dont panic if .debug_frame section is not found. Log and exit 2015-01-23 14:57:31 -06:00
Ivar Gaitan
d9c3488f12 Report caller file:line in assert helper fn 2015-01-23 14:55:24 -06:00
Paul Nasrat
46e5cfd399 proctl: propagate underlying error for failing hardware breakpoint.
Improves error message on systems that delve is failing on.
2015-01-22 17:10:48 -05:00
epipho
1782e13f74 Genericized slice reading 2015-01-20 01:37:52 -05:00
epipho
e2236664dd Genericized array reading 2015-01-20 00:32:08 -05:00
epipho
99b614a028 Adding support for reading function pointers and mapping them to function names 2015-01-19 23:15:40 -05:00
epipho
056df44318 Support for uint and boolean types 2015-01-19 22:18:17 -05:00
epipho
67ad85feec readString can now read strings of any length as well as sliced strings 2015-01-19 19:30:15 -05:00
Derek Parker
cf672154fe Micro version bump 2015-01-16 15:50:32 -06:00
Derek Parker
76076791b9 Fix stack frame calculation bug
There were certain instances where the calculation of the stack frame
was incorrect, causing for garbage to be returned by a print command.
2015-01-16 15:30:22 -06:00
Derek Parker
87c3b0a7d3 Minor syntax cleanup 2015-01-14 17:43:34 -06:00
Derek Parker
ecacbc8a40 Remove bonus comment 2015-01-14 17:40:52 -06:00
Derek Parker
fa62905a7e Remove slight duplication 2015-01-14 17:36:35 -06:00
Derek Parker
bcc4943abd Move breakpointIDCounter to DebuggedProcess struct 2015-01-14 09:01:36 -06:00
Derek Parker
d7cb4dcaca Remove parseProcessStatus and only report stop
Currently there is no need for the other items in the ProcessStatus
struct, we really only care if the process is not running, so we can
avoid sending signals to it.
2015-01-14 08:58:32 -06:00
Derek Parker
fbbe9aaa5e Implement usage of hardware breakpoints
Currently only works for amd64 processors.
2015-01-12 21:56:25 -06:00
Derek Parker
c0ae1ee1c6 Remove erroneous fmt.Println calls 2015-01-10 14:33:49 -06:00
Derek Parker
bc39ddfbbc Handle SIGINT
Handle SIGINT by stopping the traced program and then displaying a
prompt to the user for commands. If the traced process is not running,
this is a noop.

Closes #30
2015-01-09 16:24:33 -06:00
Derek Parker
6acb912a0c Minor comment cleanup 2015-01-02 10:09:32 -06:00
epipho
7c61e2a1cb EvalSymbol supports evaluating struct members on pointers. Fixed panic
when evaluating a nil pointer.
2015-01-02 10:02:56 -06:00