当前位置: 首页> 娱乐> 明星 > vscode附着调试

vscode附着调试

时间:2025/8/16 18:41:56来源:https://blog.csdn.net/caz28/article/details/141526120 浏览次数:0次

我有一个程序,是别的程序调用启动的,所以需要等它的进程启动后,再附着上去调试。

编写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"},{"name":"(gdb) Attach","type": "cppdbg","request": "attach""processId":"${command:pickProcess}","program": "${workspaceRoot}/cmakeBuild/build/bin/abc","MIMode": "gdb","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}]}]
}

调试时,选(gdb) Attach,等要调试的进程启动了,按F5,会跳出选择进程的窗口,选择要附加的进程, 附加后,就可以调试了,以前设置的断点,也会被捕捉中断。

有时候,我们要调试的是在进程启动时的代码,等我们附着上后,设置的断点已经运行过去了。这时候可以在进程启动的地方,加延时,方便附着。

int loop = 0;
while(loop <20)
{sleep(1);++loop;
}

这个要加在初始化代码后面,不要影响初始化。会sleep 20秒,附着上后,暂停,修改loop大于20,就退出循环了,往后走了。vscode里,有时候loop会修改不了,就等它自己超过20退出吧。

关键字:vscode附着调试

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: