无法从 Visual Studio 启动 gdb 以在 Windows 上的 Linux 子系统中远程调试 Linux C++ 项目
Posted
技术标签:
【中文标题】无法从 Visual Studio 启动 gdb 以在 Windows 上的 Linux 子系统中远程调试 Linux C++ 项目【英文标题】:Could not launch gdb from Visual Studio for remote debugging Linux C++ project in Linux subsystem on Windows 【发布时间】:2018-06-17 16:57:44 【问题描述】:我正在尝试Targeting the Windows Subsystem for Linux from Visual Studio。该项目在 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 ==========
我可以从 Windows 上的 bash 命令行提示符运行它:
linux@windows-bash:/mnt/c/.../LinuxConsoleApp/bin/x64/Debug$ ./LinuxConsoleApp.out
hello from LinuxConsoleApp!
但是,当我设置断点从 Visual Studio 调试它时,出现错误:
“无法启动 gdb。gdb 从您的系统中丢失,需要 已安装,请使用系统的包管理器安装”
我确实在 Windows 的 Linux 子系统上安装了 gdbserver。有谁知道我还需要什么才能使它工作?提前致谢!
【问题讨论】:
启动SSH服务,不要关闭CMD窗口。 【参考方案1】:首先,您是否在 WSL 上安装了gdb
?命令gdb --version
显示什么?
那建议你在gdb
模式下调试,see this topic for details。
而且,如果您阅读了 original Visual Studio blog 中有关使用 WSL 的 cmets,您会发现 ssh
周围存在一些问题,如果您遵循这些问题,则会将您带到 this fix
【讨论】:
是的,运行 'sudo apt-get install gdb' 在 WSL 上安装 gdb 可以修复它。谢谢你的好回复!以上是关于无法从 Visual Studio 启动 gdb 以在 Windows 上的 Linux 子系统中远程调试 Linux C++ 项目的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin - Android - Visual Studio - 应用程序无法启动
使用 CMake 生成 Visual Studio 2015 Makefile Project (GDB)
Visual Studio Code 的 launch.json 解析
visual studio下工程启动失败,提示无法启动程序,系统找不到指定的文件
visual studio下工程启动失败,提示无法启动程序,系统找不到指定的文件
Visual Studio 错误:由于出现错误,无法启动 Visual Studio:System.NullReferenceException