假设我有一个项目,已经编译好了,需要调试,用gdb命令行调试不熟悉,还是用vscode来调试比较好。
编写Launch.json:
{"version": "0.2.0","configurations": [{"name": "(gdb) Launch","type": "cppdbg","request": "launch","program": "${workspaceFolder}/cmakeBuild/build/bin/abc","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}/cmakeBuild/build/bin","environment": [],"externalConsole": false,"MIMode": "gdb","preLaunchTask": "","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": false},{"description": "Set Disassembly Flavor to Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}],"envFile": "${workspaceFolder}/.env"}]
}
关键点:"preLaunchTask": "",这个是空的,就不会去编译了,直接运行。
envFile的内容跟shell文件一样:
PATH="/opt/qt-5.15.2/bin:./:$PATH"
LD_LIBRARY_PATH="/home/user/work/xxx/cmakeBuuild/build/lib:/usr/local/hdf5/lib:/opt/gt-5.15.2/lib:/usr/local/lib:./:$LD_LIBRARY_PATH"
QT_PLUGIN_PATH="/opt/qt-5.15.2/plugins:$QT_PLUGIN_PATH"
QML2_IMPORT_PATH="/opt/qt-5.15.2/qml:$QMIL2_IMPORT_PATH"
INCLUDEPATH="/opt/qt-5.15.2/include:$INCILUDEPATH"
这个.env会设置环境变量。