我在Solaris調試正在運行的程序與GDB 6.6,並注意到有時用gdb步入(內聯)功能,即使我發了下一個命令。 我的開發主機最近重新安裝了solaris 10的一個稍微更新的版本,並且我確定自動步進在主機重新安裝之前不存在。代碼使用相同的選項進行編譯,因爲在主機重新安裝後,makefile和所有源代碼都保持不變。GDB自動步入內聯函數
是否有任何影響gdb調試行爲的設置/新的默認選項,我可以檢查?有誰知道爲什麼我的gdb現在自動步驟?它真的很痛...
[編輯]澄清:我不是指inline
關鍵字,而是在頭文件中實現的方法/函數。示例:
header.hpp:
class MyClass
{
public:
void someFunc() { ... does something }
}
source.cc:
{
MyClass instance;
instance.someFunc(); // doing NEXT in gdb will actually STEP into header.hpp
}
愚蠢的問題,但你確定你沒有任何斷點或任何內部被調用的功能? –
是的,非常確定。它在執行「cont」時不會中斷。 – user826955