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
Derek Parker
eed50f3e52
Kill newline
2015-01-01 12:35:03 -06:00
epipho
709347512c
Breakpoints now have ids. Consolidated location lookup logic
2015-01-01 08:23:55 -05:00
Derek Parker
1289f38f87
kill whitespace
2014-12-31 15:54:52 -06:00
epipho
2c5527c6c9
Refactor member variable evaluation so it works in all cases
2014-12-31 16:20:26 -05:00
epipho
ed6d4049b6
Extracting common dwarf reader functionality into its own area
2014-12-31 11:46:58 -06:00
epipho
c0fd1a0295
Refactor extractValue so OP_DW_addr will work
2014-12-31 02:41:25 -05:00
epipho
07940dc59e
Added info locals and info args commands
2014-12-30 12:58:44 -05:00
Derek Parker
cc8563a2a2
Remove unnecessary type conversion
2014-12-30 09:23:22 -06:00
Derek Parker
849a201d4a
Extract function to set slice len
2014-12-29 21:05:22 -06:00
Derek Parker
4dce356497
Slight improvement for readIntSlice
2014-12-29 20:59:52 -06:00
Derek Parker
d7684de92d
Use ptrsize instead of assuming
2014-12-29 17:04:08 -06:00
Derek Parker
46be509d6a
Improve array type output
2014-12-29 16:59:41 -06:00