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
Derek Parker
f66a2023a8
Use single byte to store INT3
2014-05-28 15:58:12 -05:00
Derek Parker
c3bac38ba1
Pass addr to Break() and Clear()
2014-05-27 18:15:18 -05:00
Derek Parker
3d325da7b0
Prefer delete() builtin
2014-05-27 17:45:51 -05:00
Derek Parker
14b5473cee
Implement clear command
2014-05-27 14:32:40 -05:00
Derek Parker
edbce2dd6b
Implement breakpoint clear backend functionality
2014-05-27 13:33:49 -05:00
Derek Parker
7a01a19143
Update documentation
2014-05-27 13:20:10 -05:00
Derek Parker
23dacd8cc7
Fix: reset bp.Addr not PC()
2014-05-27 13:10:35 -05:00
Derek Parker
73ddaa2653
Modify Step() to not print, delegate to command
2014-05-27 11:32:25 -05:00
Derek Parker
821313d6cf
Implement break command
2014-05-27 10:44:29 -05:00
Derek Parker
0866de0c86
Ensure we can step/continue past breakpoints
2014-05-27 10:43:47 -05:00
Derek Parker
fdda6c5706
Prefer PCToLine
2014-05-27 07:47:22 -05:00
Derek Parker
251abd2c21
Handle attempt to set break on nonexistent func
2014-05-24 11:36:18 -05:00
Derek Parker
03fab9c26e
Ensure breakpoint is set only once
2014-05-24 11:22:06 -05:00