繁体   English   中英

GDB中断对象函数调用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM