1.安装snap
打开终端在根目录下输入
apt install snapd
2.安装VSCode
输入以下代码开始安装VSCode
snap install --classic code
3.进入VSCode
输入以下代码进入NS-3目录
cd workspace/ns-allinone-3.34/ns-3.34
输入以下代码打开VSCode
code . --user-data-dir=/root/.vscode-root
第一次打开选择信任
4.安装扩展
在扩展中添加C/C++、Chinese(Simplified)以及C/C++ Extension Pack,这样可以使用C++和中文界面
5.编辑配置
按F1调出命令面板,搜索C/C++,配置JSON文件
初始代码如下
改为
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/build/**"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c17",
"cppStandard": "gnu++14",
"intelliSenseMode": "linux-gcc-x64"
}
],
"version": 4
}
6.配置生成活动文件
配置默认生成任务
选择cpp生成活动文件
打开后如下图所示
改成以下代码
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: cpp 生成活动文件",
"command": "./waf",
"args": [],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "编译器: /usr/bin/cpp"
}
]
}
然后修改scratch目录下scratch-simulator.cc文件下的打印内容后保存,点击终端中的运行生成任务
自动调用./waf,运行成功
7.配置gdb调试
按F5,出现以下提示,打开launch.json
替换成以下代码,注意路径是否正确
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "waf - 生成和调试活动文件",
"type": "cppdbg",
"request": "launch",
"program": "/root/workspace/ns-allinone-3.34/ns-3.34/build/scratch/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: cpp 生成活动文件",
"miDebuggerPath": "/usr/bin/gdb"
},
]
}
将build下的lib文件夹下的所有内容复制到根目录下的lib文件夹中
cd workspace/ns-allinone-3.34/ns-3.34/build
cp lib/* /lib
此时打断点,按F5进入调试,在上面可以逐步调试