对象函数调用时的GDB中断
GDB break on object function call
我正在调试一个问题,我想在每个具有特定对象作为'this'参数的方法调用上中断。这在GDB中是可能的吗?
这很简单。您可以使用像b A::a if (this==0x28ff1e)
这样的命令
this参数只能是类本身中包含的方法。因此,您应该只需要为您正在查看的类的所有方法设置断点。我不确定是否有一个简单的方法来做到这一点。
我想打破每个方法调用有一个特定的对象作为'this'参数
这意味着您想要中断对象已实例化的特定类的每个成员函数。
为方便起见,假设所有成员函数都定义在特定的cpp文件中,如myclass_implementation.cpp
您可以使用gdb在myclass_implementation.cpp
内部的每个函数上应用断点:
rbreak myclass_implementation.cpp:.
假设你想在一些特定的函数上设置断点,比如以Get开头的getter函数,那么你可以使用gdb来应用这样的断点:
rbreak myclass_implementation.cpp:Get*
相关文章:
- 当在带有Eigen的C++中使用GDB时,我如何才能看到更多的大矩阵
- 如何找出GDB的SIGTRAP核心转储的根本原因
- 如何使用gdb制作一个可以漂亮地打印每个对象的C++函数
- gdb错误:Backtrace已停止:上一帧与此帧相同(堆栈已损坏?)
- 附加到 gdb 会中断并且不会继续该过程
- 进入子进程时 GDB 中断
- 如何在运行 cpp 应用程序的 GUI 时通过 GDB 设置中断
- gdb:当特定对象发生更改时中断
- 如果在例程中,Gdb 会在错误时中断
- GDB/LLDB 调用一个函数并中断它
- 从特定函数调用时引发异常时GDB中断
- 当使用多个源文件时,GDB不会中断某些代码行
- gdb可以被设置为在任何投掷时中断吗
- 如何让 gdb 从 icc '-check-pointers=write' 中断"CHKP: Bounds check error"
- 对象函数调用时的GDB中断
- 在GDB中抛出特定异常类型时如何中断
- 无法中断gdb-mingw中的函数名
- 我可以在读/写地址时使用gdb中断吗
- gdb 可以在隐式类方法上中断吗?
- 如何在每个系统或库函数调用时使 GDB 中断