使用vscode调试c++、python、torchrun、deepspeed程序


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": [
                {
   
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
  • 14
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值