LLDB:Python API StepInstruction - 不会踩两次

时间:2015-08-24 20:06:34

标签: python scripting lldb

我通过执行以下操作来定义断点:​​

breakpoint = target.BreakpointCreateByAddress(loadAddr)
breakpoint.SetScriptCallbackFunction( "mylldbmodule.bp_hit" )

我的bp_hit函数定义为:

def bp_hit(frame, *args):

    thread = frame.GetThread()
    process = thread.GetProcess()

    #
    # some work done here
    #

    #thread.StepInstruction( True )
    #thread.StepInstruction( True )

    # 
    # some more work done here
    #

当我的断点被击中时,我可以看到我的电脑处于loadAddr。如果我执行了一个StepInstruction调用,当我查看它时,我的pc是loadAddr + 4。但是,如果两个StepInstructions都被执行,那么当我查看它时,我的pc仍然是loadAddr + 4。

由于某种原因,第二个(甚至第三个)StepInstruction对电脑没有影响。

为什么呢?我能做些什么来按预期完成这项工作?

谢谢。

0 个答案:

没有答案