我正在使用gdb調試NS-2,它是網絡協議的模擬器。它需要一個.tcl文件作爲輸入並解釋它。 [我認爲它是一個解釋。]GDB和NS2:如何在某些函數調用時停止程序
某些代碼被寫在TCL(事件和網絡組件的創建)和一些在C++中(尤其是數據包格式,代理等)。
我已經創建了C++的代理,我想在某個函數調用來阻止它,這樣我可以看到堆棧跟蹤,找到其他類以前它被調用。
這是我做了什麼:
有我MyAgent ::功能的一個部分錯誤,這是給段錯誤和gdb被自動停止存在。我可以看到堆棧跟蹤。我糾正了錯誤。
現在,當我運行
gdb ./ns
b MyAgent::function()
/*
When i press TAB after writing "b MyA" it gives me all functions
of my class :). when i press enter after above command --
it asks me "Breakpoint on future shared library load" and i say Yes.
I hope this is ok ??
*/
r myfiles/myWireless.tcl
現在運行,並沒有在任何地方停止。 :(
我相信,這個函數被調用,因爲當分割故障是發生的歷史,它是在該功能停止
感謝
我認爲這是同爲「b MyAgent ::函數()」。我也是這樣做的。它並沒有停止。 – 2013-02-21 09:08:25
你正在調試優化的代碼嗎? – dbrank0 2013-02-21 10:42:09
@ASHISHNEGI你有編譯調試符號嗎? – juanchopanza 2013-02-21 10:46:30