1.
第一步,安装kde,root账户下 # yum install kdevelop,默认的版本里面可以用
2.然后要重新为ns2.28里面添加debug的参数
在55行上CCOPT 上面改为-g –Wall
PS:vi中显示行数是先按:然后set number,搜索是先按/,然后直接搜索的字符,这里就是CCOPT,删除是x,从当前插入是i,从之后插入是a
3.这里修改完之后重新要进行
make clean
make depend
make
可能会有一些报错,不过编译是都能过去的,一些warning
PS:这一步是一些用gdb调试的里面说要这么做的,我觉得还是做下好
4. 将Makefile 改为 Makefile.am, 利用它来在KDevelop中自动添加相关文件并生成工程文件,我是直接cp了一个Makefile.am,因为后面还要改回来,故直接复制个更简单点
5、打开KDevelop, 选择菜单中 project | import existingproject, 在弹出的对话中,路径定位到~/ns-allinone-2.30/ns-2.30/中,即Makefile.am所在路径。工程名称自己取一个,工程类型选择 Generic c++Application(Custom Makefile)
如上图,下图问你是不是要包含目录下的文件,选择第一个
问你哪些文件需要被包含进来,ok就行
左边的file里面能找到一些具体的要跟踪的cc文件,或者用class里面也行,在星号的位置点下就能设定断点了
6、把Makefile.am改回Makefile,在KDevelop内嵌的konsole里定位到~/ns-allinone-2.30/ns-2.30/下,执行make clean && make, 此时编译对象已添加了调试信息。
具体调试方法:
(1) 添加组件,或在现有组件上进行改进,建议先在现有组件上改进一点点,熟悉一下调试全过程。编程完后,保存改动过的文件。
(2) 在KDevelop内嵌的konsole里定位到~/ns-allinone-2.30/ns-2.30/下,执行make,此时可能会出现一些语法错误, 根据错误信息进行修改, 保存,重新make, 直至消除所有基本的语法错误。
(3) Console 里运行ns, 进入交互模式(%)
这里主要是调试方法的开始,首先,这里进入tcl脚本的方式
(4) 在KDevelop中选择菜单命令 Debug | Attach to process, 在对话框中选择ns进程并确定,调试器就和NS进程绑定了。
(5) 选择Debug | run, 让ns进程继续运行
(6) 在konsole里ns 的交互模式下运行所要仿真的脚本 xxx.tcl , 即输入命令Source xxx.tcl, 程序出错并暂停,这样就能在里面进行单步调试了。
(7) 在KDevelop中调用调试功能,类似于VC,可以定位错误, 可以观察变量的值, 可以设置断点,可以单步调试。