有没有办法测试我们是否在断点上,使用纯gdb脚本?

时间:2014-07-02 08:41:52

标签: c++ gdb

我试图使用this answer在两行代码之间生成指令跟踪。

不幸的是,while循环中的条件是一个简单的计数,我需要继续运行循环,直到达到源代码中的特定代码行。

是否有办法检查我们是在特定的代码行上,还是在纯gdb脚本中的特定断点处?

我知道使用Python API的解决方案here。我也知道pin-instat,但我想知道这是否可以用纯gdb完成。

1 个答案:

答案 0 :(得分:1)

如果以这种方式做你想做的事情

1)获取有关您想要到达的行的pc的信息

使用info line或使用disas /m获取有关特定代码行地址的信息。

2)写出与Tracing/profiling instructions

中类似的循环
 while $pc != ADDRESS-FROM-FIRST-STEP
   si 
 end. 

这样,您将继续运行循环,直到到达源代码中的特定代码行