我能在GDB中找到一些函数调用程序吗

我能在GDB中找到一些函数调用程序吗,gdb,Gdb,我有第三方静态库:“A.lib” (我没有源代码…) 和。。“A.lib”具有类似于“bool CUserQueue::Push()的函数” 我想将断点全部设置为“CUserQueue::Push()”调用者 (因为,我调试“为什么队列是空的?数据被传递了…”在对函数的所有调用上设置断点实际上与在函数条目上中断相同。在函数上放置断点不需要库源,因为函数入口点是公共符号 “break CUserQueue::Push()”应该可以做到这一点。并确保在构建程序时未启用任何优化和调试信息(-O0-g

我有第三方静态库:“A.lib”

(我没有源代码…)

和。。“A.lib”具有类似于“bool CUserQueue::Push()的函数”


我想将断点全部设置为“CUserQueue::Push()”调用者


(因为,我调试“为什么队列是空的?数据被传递了…”

在对函数的所有调用上设置断点实际上与在函数条目上中断相同。在函数上放置断点不需要库源,因为函数入口点是公共符号


“break CUserQueue::Push()”应该可以做到这一点。并确保在构建程序时未启用任何优化和调试信息(-O0-g3标记,带gcc)。

有一些未知原因,我的程序未调用“Push()”。。。所以,我想找出所有调用“Push()”的函数。我将为这些函数设置断点。(不是“Push()”条目)我认为没有什么捷径可以做到这一点。您需要通过在源代码中搜索或在IDE中使用某种“查找引用”来查找所有调用Push()的函数,然后在gdb中的所有这些函数上设置断点。噢..“Push()”在第三方库层中被调用。所以我不知道。谢谢。您可以分解库以查看Push()的调用位置。