当前位置: 首页 > 知识库问答 >
问题:

无法在Windows Subsystem for Linux上使用gdb在VS代码上调试C

宣胜
2023-03-14

我正在使用VS代码来调试使用Windows Subsystem for Linux的'C'代码。我基本上想用一个基于linux的编译器来编译“C”代码,用于操作系统的课程。我已将Visual Studio代码上的默认终端设置为“wsl”。单击debug按钮时,我会得到以下错误“无法开始调试”。miDebuggerPath的值无效“我验证了'gdb'安装在Windows Subsystem for Linux中,并且其可执行文件(ELF文件)存在于'/usr/bin/gdb'位置

{
    // 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": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/temp",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            //"preLaunchTask": "Compile C Ubuntu"
        }
    ]
}

共有1个答案

顾穆冉
2023-03-14

您遇到的问题是缺少使用bash.exe调用WSL站点上的调试器所需的远程处理调用。您将需要添加一个名为“pipetransport”:的部分并对其进行配置。有关更多信息,这里有一个how-to文档。

您可以在我们扩展的GitHub站点上找到更多信息,网址是https://GitHub.com/microsoft/vscode-cpptools。

 类似资料:
  • 问题内容: 任何人都可以指导如何使用GDB调试器在Linux上调试JNI代码(如果可能,请提出其他选择)。 我已经安装了Gdb,但是没有得到如何使用它调试项目的信息。我是否还需要使用-g选项t debug .so文件来编译.cpp文件? 问题答案: 启动您的Java应用程序 使用top,ps,…查找pid 使用此pid启动gdb 附加程序代码 像往常一样使用gdb进行调试 这篇博客文章解释了整个过

  • 场景: 我试图在Sabayon Linux下的Visual Studio代码上调试ASP.NET核心项目。当我点击F5时,我得到以下消息: launch.json }

  • 我无法在VS代码上运行Tomcat服务器。 错误信息如下 但是,我的tomcat文件夹放在D驱动器上,与源代码文件夹相同。我不知道它为什么要搜索“C:\Program”文件夹。如果你能帮忙,我真的很感激。非常感谢。 jdk1.8 Windows10 VS code1.47.2 Tomcat9.0.37 在此处输入图像描述

  • 开发程序过程中调试代码是开发者经常要做的一件事情,Go语言不像PHP、Python等动态语言,只要修改不需要编译就可以直接输出,而且可以动态的在运行环境下打印数据。当然Go语言也可以通过Println之类的打印数据来调试,但是每次都需要重新编译,这是一件相当麻烦的事情。我们知道在Python中有pdb/ipdb之类的工具调试,Javascript也有类似工具,这些工具都能够动态的显示变量信息,单步

  • 在我的场景中,我使用CLANG/LLVM编译器和LLDB调试器。 由于某种未知的原因,我无法调试C++标准库。我可以单步执行应用程序中定义的符号,但无法执行标准符号,例如构造函数。 目前还不清楚这是不正确的配置还是这些工具的限制。在web上搜索,我注意到使用GNU工具链的C++标准库调试在Linux上确实工作得很好。 :

  • 它在几天前工作,现在在推动代码时,我在终端上得到了关注。 计数对象:218,完成。增量压缩最多使用4个线程。压缩对象:100%(218/218),完成。写入对象:100%(218/218),485.32千字节/秒,完成。总计218(增量93),重复使用0(增量0)错误:RPC失败;结果=22,HTTP代码=401致命:远程端意外挂起致命:远程端意外挂起所有最新的内容 我不明白为什么,它发生了。在谷