原文转自:http://www.baisi.net/redirect.php?tid=1617581&goto=newpost+自己实践
在Ubuntu系统下使用Kdevelop调试NS的方法:
其中包含了解决断点无效的问题。
1.在软件包管理那里选择Kdevelop的相关组件安装好
2.在NS目录下,对Makefile文件进行如下改动:
CCOPT =
STATIC =
LDFLAGS = $(STATIC)
LDOUT = -o $(BLANK)
改变为:
CCOPT = -wall -g #如果是 ns-allinone-2.28,这里修改为 CCOPT = -O2 -g
STATIC =
LDFLAGS = $(STATIC)
LDOUT = -o $(BLANK)
3.
注意:以下步骤一个都不能少
Make clean
Make depend(我做一步时好像有错误提示,不过好像对结果没影响)
Make
(自己注:好像不需要make install)。
5.打开Kdevelop,选择"Project"->"Imp
6.把Makefile.am改回名字Makefile
接下来就可以进行调试了:
1.在shell终端输入ns,回车。
2.在Kdevelop中选择菜单命令“Debug/Attach to process”,在对话框中找到刚刚运行的NS 进程,按OK。
3.设置断点,在需要设置断点的行选择toggle breakpoint。
4.在shell终端输入tcl命令,例如“source test.tcl”,回车。
5.程序就会运行到设置断点的位置停止。
备注:
1.IDE窗口的左边有一个 Variable/Watch标签,图标类似于"{X}"。点击后会出来窗口。默认显示一些本地变量什么的,你可以自己加一些需要的变量啊,函数啊。
2.之前碰到过断点设置无效的问题,后来发现是因为在Makefile里面没有加-g选项(即第二步)。
3.kdevelop 的调试功能需要 gdb 支持,你要装上 gdb 才可以追踪变量。