提交 f8bb5acc 编写于 作者: D Derek Parker

Return more meaningful errors

上级 d14183a2
...@@ -24,7 +24,7 @@ type ThreadContext struct { ...@@ -24,7 +24,7 @@ type ThreadContext struct {
func (thread *ThreadContext) Registers() (*syscall.PtraceRegs, error) { func (thread *ThreadContext) Registers() (*syscall.PtraceRegs, error) {
err := syscall.PtraceGetRegs(thread.Id, thread.Regs) err := syscall.PtraceGetRegs(thread.Id, thread.Regs)
if err != nil { if err != nil {
return nil, err return nil, fmt.Errorf("could not get registers %s", err)
} }
return thread.Regs, nil return thread.Regs, nil
...@@ -110,7 +110,7 @@ func (thread *ThreadContext) Clear(pc uint64) (*BreakPoint, error) { ...@@ -110,7 +110,7 @@ func (thread *ThreadContext) Clear(pc uint64) (*BreakPoint, error) {
} }
if _, err := syscall.PtracePokeData(thread.Id, uintptr(bp.Addr), bp.OriginalData); err != nil { if _, err := syscall.PtracePokeData(thread.Id, uintptr(bp.Addr), bp.OriginalData); err != nil {
return nil, err return nil, fmt.Errorf("could not clear breakpoint %s", err)
} }
delete(thread.Process.BreakPoints, pc) delete(thread.Process.BreakPoints, pc)
...@@ -141,7 +141,7 @@ func (thread *ThreadContext) Continue() error { ...@@ -141,7 +141,7 @@ func (thread *ThreadContext) Continue() error {
func (thread *ThreadContext) Step() (err error) { func (thread *ThreadContext) Step() (err error) {
regs, err := thread.Registers() regs, err := thread.Registers()
if err != nil { if err != nil {
return fmt.Errorf("could not get registers %s", err) return err
} }
bp, ok := thread.Process.BreakPoints[regs.PC()-1] bp, ok := thread.Process.BreakPoints[regs.PC()-1]
...@@ -149,7 +149,7 @@ func (thread *ThreadContext) Step() (err error) { ...@@ -149,7 +149,7 @@ func (thread *ThreadContext) Step() (err error) {
// Clear the breakpoint so that we can continue execution. // Clear the breakpoint so that we can continue execution.
_, err = thread.Clear(bp.Addr) _, err = thread.Clear(bp.Addr)
if err != nil { if err != nil {
return fmt.Errorf("could not clear breakpoint %s", err) return err
} }
// Reset program counter to our restored instruction. // Reset program counter to our restored instruction.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册