我正在使用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