[英]GDB break on object function call
我正在调试一个问题,我想打破每个具有特定对象的方法调用作为'this'参数。 这在GDB中是否可行?
这很简单。 您可以使用b A::a if (this==0x28ff1e)
。
我想打破每个具有特定对象的方法调用作为'this'参数
这意味着您希望中断已实例化对象的特定类的每个成员函数。
为方便起见,我们假设所有成员函数都在特定的cpp文件中定义,例如myclass_implementation.cpp
您可以使用gdb以这种方式在myclass_implementation.cpp
每个函数上应用断点:
rbreak myclass_implementation.cpp:.
假设您想要打破一些特定的函数,例如以Get开头的getter函数,那么您可以使用gdb以这种方式应用断点:
rbreak myclass_implementation.cpp:Get*
this参数应该只是类本身包含的方法。 所以你应该只需要为你正在查看的类的所有方法设置断点。 我不确定有一种简单的方法可以做到这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.