VS Code调试NS3 error: ns3/applications-module.h: 没有那个文件或目录
·
问题描述:
VS Code的终端使用./ns3 build 和run均正常,且能在/build目录下生成后缀为.debug的文件。

使用图片处的调试和运行会出现问题,报错为error: ns3/applications-module.h: 没有那个文件或目录
Tips:可以把下述操作思路粘贴给大模型,以适配自己的工作目录,生成代码和配置
环境配置:
Ubuntu22.04
c++ 11.4.0
g++11.4.0
python3.9.13
cmake3.22.1
原因:(个人推测,仅供参考)
直接点击上图所示方式,会使用默认的gcc、g++等编译器进行编译,生成对应.debug后缀文件,这个逻辑在正常的c++代码上是可以使用的,但是NS3的编译,需要./ns3 进行,直接点击图上的
图标,无法生成.debug后缀文件。(下图用来展示这些文件的位置,图中有这些文件,是因为进入VS Code有时会默认使用ns3帮你全build一遍,你把某个文件删除了,点击图标运行,是不会生成这个文件的)

解决办法:
1.测试在终端使用./ns3 进行build和run有无问题(可以正常跑,且生成build文件内的.debug文件)
Tips:如果不能正确生成带debug后缀的文件,只有default
./ns3 clean
//--disable-werror 用于处理一些由于unused variable引起的error
./ns3 configure --build-profile=debug --disable-werror
./ns3 build
2.测试终端使用dbg进行debug
指令参考:
可以进行:
gdb ./build/scratch/ns3.46.1-fifth-debug
终端可以进行
(gdb) run
(gdb) break main
(gdb) continue
等操作
3.配置launch.json(原launch.json中如果有其它额外配置,请注意备份和处理)
{
"version": "0.2.0",
"configurations": [
{
"name": "ns-3 rdma-simulation (click)",
"type": "cppdbg",
"request": "launch",
//这里的名称请使用变量传参,这里为了演示方便
"program": "${workspaceFolder}/build/scratch/ns3.46.1-fifth-debug",
"args": [],
"cwd": "${workspaceFolder}/build",
"environment": [
{
"name": "LD_LIBRARY_PATH",
"value": "${workspaceFolder}/build/lib"
}
],
"stopAtEntry": true,
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"text": "-enable-pretty-printing"
}
]
}
]
}

点第二个进入调试

点击绿色箭头
感谢GPT老师的大力相助!!!
更多推荐
所有评论(0)