簡體   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