proc: refactor common code in WriteBreakpoint (#2300)

Moves common backend code in WriteBreakpoint to
proc.(*Target).SetBreakpoint.
This commit is contained in:
Alessandro Arzilli
2021-01-27 16:27:54 +01:00
committed by GitHub
parent f5d5a681d0
commit c40774d3d4
5 changed files with 16 additions and 27 deletions

View File

@ -263,10 +263,7 @@ func (t *Target) SetBreakpoint(addr uint64, kind BreakpointKind, cond ast.Expr)
return bp, nil
}
f, l, fn, originalData, err := t.proc.WriteBreakpoint(addr)
if err != nil {
return nil, err
}
f, l, fn := t.BinInfo().PCToLine(uint64(addr))
fnName := ""
if fn != nil {
@ -279,10 +276,14 @@ func (t *Target) SetBreakpoint(addr uint64, kind BreakpointKind, cond ast.Expr)
Line: l,
Addr: addr,
Kind: kind,
OriginalData: originalData,
HitCount: map[int]uint64{},
}
err := t.proc.WriteBreakpoint(newBreakpoint)
if err != nil {
return nil, err
}
if kind != UserBreakpoint {
bpmap.internalBreakpointIDCounter++
newBreakpoint.LogicalID = bpmap.internalBreakpointIDCounter