Commit Graph

1388 Commits

Author SHA1 Message Date
Derek Parker
cba9ac206d Enable next to clean up after itself 2014-07-21 18:20:16 -05:00
Derek Parker
dcf21c2d0d Update README 2014-07-21 11:44:53 -05:00
Derek Parker
e462d71176 Fix README formatting 2014-07-21 11:41:50 -05:00
Derek Parker
f3314299e2 Update README 2014-07-21 11:40:21 -05:00
Derek Parker
f7e36b3c46 Improve documentation of LoadInformation() 2014-07-16 20:16:49 -05:00
Derek Parker
dcb707001b Add line between functions 2014-07-16 20:13:01 -05:00
Derek Parker
f30046921b Remove superfluous documentation 2014-07-16 20:12:10 -05:00
Derek Parker
6b64296bca Improve .debug_line parser performance 2014-07-14 21:41:15 -05:00
Derek Parker
c546ea2ef7 Reduce running time / allocations of frame parser 2014-07-14 13:30:04 -05:00
Derek Parker
6a82ebb25d Implement frontend next command 2014-07-11 16:18:07 -05:00
Derek Parker
eeb5757097 Update binary prog for newer Go version 2014-07-11 16:17:51 -05:00
Derek Parker
e8ffa31bd7 Small refactor, only arithmetic once 2014-07-11 15:32:26 -05:00
Derek Parker
07fec48272 Further improve next command
* Fixes incorrect loop `next`ing behaviour
* Includes fix for determining return address
2014-07-11 14:52:55 -05:00
Derek Parker
3566fd5237 Improve next implementation
Improvements:
* `next`ing through a loop works correctly (when not already within a loop)
* `next`ing out of a function works correctly

Needs work:
* `next`ing in a loop can be improved when starting within a loop
2014-07-10 18:07:39 -05:00
Derek Parker
bfccdea8d5 Ignore tag file 2014-07-10 18:04:03 -05:00
Derek Parker
a788e03c7b Implement initial next implementation
This current implementation does not cover the following:

* Setting correct breakpoint when exiting loop
* Setting correct breakpoint when returning from function
    * All facilities are available for this, it just is not taken into
      account in the current `next` implementation.
2014-07-07 08:26:36 -05:00
Derek Parker
ea335b3d7e Refactor frame API 2014-06-29 11:52:30 -05:00
Derek Parker
7e8d7c565a Fix typo 2014-06-26 22:43:30 -05:00
Derek Parker
d86639593a Rename function for clarity 2014-06-26 20:36:39 -05:00
Derek Parker
7fe2037ff1 Refactor: Modify command registraion on bootup
Benefits of this CL:

* Commands no longer rely on closured proc struct
* No two-step process for basic command initializaion
2014-06-25 14:58:45 -05:00
Derek Parker
feec416b1a Rename function for brevity 2014-06-25 14:35:21 -05:00
Derek Parker
38bfdaf47c Implement initial support for stack unwinding.
Implement basic api for figuring out, given a current PC value, where
the function will return. Currently the API provides only a way to
determine the offset from SP (the Canonical Frame Address). It is left
up to the caller to grab the actual address from the traced program.
2014-06-25 14:14:29 -05:00
Derek Parker
1f171beae0 Factor out test helpers 2014-06-25 14:06:04 -05:00
Derek Parker
1b74a18814 InitialLocation / AddressRange should be uintptr 2014-06-10 18:20:21 -05:00
Derek Parker
f76ac8c32b Fix: Use file path passed into test func 2014-06-10 13:25:08 -05:00
Derek Parker
74bbd00dbd Rename files 2014-06-09 21:11:55 -05:00
Derek Parker
0a3b410650 FIX: Parse data alignment factor as SLEB128 2014-06-09 17:24:48 -05:00
Derek Parker
012c6e8c70 Implement decoding of SLEB128 numbers 2014-06-09 17:23:15 -05:00
Derek Parker
948f83a140 Ensure we lock OS thread in test 2014-06-09 14:56:10 -05:00
Derek Parker
8fb5e164b3 Update test progs for go13 2014-06-09 13:28:06 -05:00
Derek Parker
7304d55605 Update import paths 2014-06-09 11:19:49 -05:00
Derek Parker
d36297687a Underscore fixtures dir to ignore during test run 2014-06-09 10:55:18 -05:00
Derek Parker
d08710180d Improve docs for decodeULEB128 2014-06-06 19:25:07 -05:00
Derek Parker
4970c86ebd Rename reader -> buf 2014-06-06 19:24:32 -05:00
Derek Parker
07fe148df5 Don't export ULEB128 decode func 2014-06-06 19:23:09 -05:00
Derek Parker
a2d0e29f33 Store Entry and Frame in context 2014-06-06 19:04:15 -05:00
Derek Parker
1f4580cd21 Fix: burn bytes for CIE pointer
Also change function sig to be shorter
2014-06-06 16:05:26 -05:00
Derek Parker
28694f54a1 Fix type 2014-06-06 15:28:47 -05:00
Derek Parker
b43c1ec524 Initial Dwarf .debug_frame parser
Still needs to handle the following:
* Correctly adapt to augmentation strings
* Correctly parse instructions
2014-06-06 15:22:50 -05:00
Derek Parker
6abfc19147 Refactor: Introduce fn to launch proc and run test 2014-05-30 10:12:18 -05:00
Derek Parker
f6792c37f5 Refactor: Use helper function for obtaining regs 2014-05-30 10:12:18 -05:00
Derek Parker
45b399e596 Restore breakpoint in defer function 2014-05-29 11:18:28 -05:00
Derek Parker
6dcfa4a16b Update gitignore 2014-05-29 10:53:51 -05:00
Derek Parker
fd9da4e3b3 Allow breakpoints to be set at file/line 2014-05-29 10:53:05 -05:00
Derek Parker
a47d851756 Prefer SetPC 2014-05-29 10:27:03 -05:00
Derek Parker
f570a84539 Inline PtracePokeData 2014-05-29 10:26:42 -05:00
Derek Parker
4fe0978e4b Fix typo 2014-05-29 10:23:37 -05:00
Derek Parker
fb904cc1aa Fix bug in stepping after hitting BP 2014-05-29 09:36:48 -05:00
Derek Parker
bf0d67a9e0 Ensure test program is killed after spec 2014-05-28 18:14:26 -05:00
Derek Parker
7dc93a4083 Fix: string formatting bug in Clear() 2014-05-28 17:47:29 -05:00