目录
- 调试模式
- 启动(Launch)模式调试c++
-
- launch.json
- tasks.json
- 附加(Attach)模式调试python
- debug torchrun和deepspeed
-
- launch.json
- 参考
VSCode通过其强大的扩展生态系统和灵活的调试配置,为C++、Python以及特定工具链如TorchRun和DeepSpeed的调试提供了便捷的方式。通过合理配置和使用,你可以更加高效地进行程序开发和调试工作,极大地提升开发体验和效率。
在Visual Studio Code(VS Code)中调试c++和python程序,主要通过launch.json和tasks.json是两个重要的配置文件进行程序调试和任务管理。
launch.json用于配置调试会话,允许开发者自定义调试环境、设置断点和观察点、管理环境变量等。
tasks.json用于配置任务,实现自动化构建、测试、运行等操作,提高开发效率。
调试模式
在 VS Code 中,有两种主要的调试模式:启动(Launch)和附加(Attach),它们处理两种不同的工作流程和开发人员群体。根据你的工作流程,确定哪种类型的配置适合你的项目可能会让人困惑。
如果你来自浏览器开发者工具的背景,你可能不习惯“从你的工具中启动”,因为你的浏览器实例已经打开了。当你打开 DevTools 时,你只是在将 DevTools 附加到已打开的浏览器标签页上。另一方面,如果你来自服务器或桌面开发的背景,那么你的编辑器为你启动进程,并且编辑器自动将其调试器附加到新启动的进程上,这是相当正常的。
解释启动和附加之间的最佳方法是,将启动配置视为一个食谱,用于说明如何在 VS Code 附加到它之前以调试模式启动你的应用,而附加配置是一个食谱,用于说明如何将 VS Code 的调试器连接到已经在运行的应用或进程。
VS Code 的调试器通常支持以调试模式启动程序或将调试器附加到已经在调试模式下运行的程序。根据请求(附加或启动),需要不同的属性,而 VS Code 的 launch.json 验证和建议应该有助于这一点。
启动(Launch)模式调试c++
launch.json
// launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "my_project",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}",
"args": ["--arg","arg_value"],
"stopAtEntry": false,
"cwd": "${workspaceFolder}/build",
"environment": [],
"externalConsole":false,
"MIMode": "gdb",
"preLaunchTask":"build_project",
"setupCommands":