GDB-显示最后执行的n行

Lan*_*hao 3 c debugging gdb control-flow

有时在GDB中,我想查看将程序移到现在的控制流。简而言之,如何使GDB打印最后执行的x行?

ks1*_*322 5

这是反向调试的另一个用例。

  1. 您应该开始流程记录并在某些时候重播:

    (gdb) record
    
    Run Code Online (Sandbox Code Playgroud)
  2. 当您想查看最后执行的行时,可以像这样向后退:

    (gdb) reverse-step 3
    
    Run Code Online (Sandbox Code Playgroud)

    要么

    (gdb) reverse-next 3
    
    Run Code Online (Sandbox Code Playgroud)
  3. 使用此答案/sf/answers/108201271/实际打印接下来的N行。