如何在gdb中为函数的所有调用设置断点?

时间:2012-09-01 17:39:43

标签: c++ gdb

我的第三部分库函数调用分散在我的可执行文件的很多地方。我的可执行文件是使用调试符号构建的,但第三方库没有调试符号,因此我不能在函数上放置断点。我想在调用库函数时放置一个断点来检查调用堆栈。 如何在我的可执行文件中的库函数调用的所有调用中设置断点。

1 个答案:

答案 0 :(得分:4)

我认为唯一的方法是:

  • 在您的代码中找到此函数的任何调用;
  • 在该行中创建断点;
  • 运行调试器并停在那里;
  • 写入gdb nexti以获取第一个函数指令;
  • 获取当前eip,它将指向该函数的开头;
  • 在eip指向的地址处创建一个新断点;