【发布时间】:2023-03-22 17:34:01
【问题描述】:
我正在使用 gdb 来调试 NS-2,它是一个网络协议模拟器。它需要一个 .tcl 文件作为输入并解释它。 [我认为是翻译。]
有些代码是用 tcl(事件和网络组件的创建)编写的,有些是用 C++ 编写的(尤其是数据包格式、代理等)。
我在 C++ 中创建了一个代理,我想在某个函数调用时停止它,以便我可以查看堆栈跟踪并找到在它之前调用了哪些其他类。
这就是我所做的:
我的 MyAgent::function 之一出现了一些错误,它给出了 Segmentation Fault 并且 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
现在它运行并且不会在任何地方停止。 :(
我确定这个函数正在被调用,因为当那个分段错误发生时,它就停在那个函数上。
谢谢
【问题讨论】:
标签: c++ gdb tcl breakpoints ns2