无法从 Visual Studio 启动 gdb 以在 Windows 上的 Linux 子系统中远程调试 Linux C++ 项目

Dat*_*ing 0 visual-studio gdbserver windows-subsystem-for-linux

我正在尝试从 Visual Studio 针对 Linux 的 Windows 子系统。该项目在 Visual Studio 中构建良好:

1>------ Rebuild All started: Project: LinuxConsoleApp, Configuration: Debug x64 ------
1>Cleaning remote project directory
1>Validating architecture
1>Validating sources
1>Copying sources remotely to 'localhost'
1>Starting remote build
1>Compiling sources:
1>main.cpp
1>Linking objects
1>LinuxConsoleApp.vcxproj -> C:\...\LinuxConsoleApp\bin\x64\Debug\LinuxConsoleApp.out
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)

我可以从 Windows 上的 bash 命令行提示符运行它:

linux@windows-bash:/mnt/c/.../LinuxConsoleApp/bin/x64/Debug$ ./LinuxConsoleApp.out
hello from LinuxConsoleApp!
Run Code Online (Sandbox Code Playgroud)

但是,当我设置断点以从 Visual Studio 调试它时,出现错误:

“无法启动 gdb。您的系统中缺少 gdb,需要安装,请使用您系统的包管理器进行安装”

我确实在 Windows 的 Linux 子系统上安装了 gdbserver。有谁知道我还需要什么才能使它工作?提前致谢!

sta*_*mas 5

首先,你有没有安装gdb在 WSL 上?命令gdb --version显示什么?

那么推荐你在gdb模式下调试,详情请看本主题

而且,如果您阅读有关使用 WSL的原始 Visual Studio 博客中的评论,您会发现存在一些问题ssh,如果您按照跟踪,将带您到此修复程序

  • 是的,运行 'sudo apt-get install gdb' 在 WSL 上安装 gdb 可以修复它。谢谢你的好回复! (3认同)