在基于 Makefile 的解决方案中使用 Visual Studio 调试器

Use Visual Studio debugger in Makefile-based solution

我有一个巨大的基于 Makefile 的项目(实际上 VirtualBox OSE),很多可执行文件、静态和动态库(假设有一段时间没有驱动程序)。实际问题是调试。

我对 WinDbg 的了解足以做到这一点,但每个人都知道它不如 VS 调试器用户友好和方便。此外,使用了 Microsoft C++ 编译器,据我所知,我拥有调试所需的一切、源代码、发布配置中的二进制文件、pdb 文件和 Visual Studio 安装(它需要 VS 2010,不幸的是无法升级)。有什么方法可以使用 Visual Studio 进行调试并使用其 IDE 和调试器的所有功能?

手动转换根本不是一个选项,它有超过 400 Mb 的源和数百个目标。

以下可能有效,没有承诺。

这假设您已经使用正确的调试标志构建了可执行文件:至少 /ZI/Zi 将使您在调试时更容易进行热修补。以及链接器的适当 /DEBUG 选项。

在您希望可执行文件 运行 所在的文件夹中打开命令提示符,然后键入

<Path to Visual Studio.exe> <Path to your executable>

例如,我正在调试的应用程序是:

"C:\Program Files (x86)\Microsoft Visual Studio17\Community\Common7\IDE\devenv.exe" sspf.exe

这将打开 visual studio,如果您按 F-10,它将进入您的程序,您应该会看到源代码。

如果可行,您就可以开始了。它会询问您是否要在退出时保存 .sln 文件,是否保存由您决定。如果不这样做,则每次启动新的调试会话时都需要明确命名可执行文件,如果这样做,您将有一个或多个额外的文件使您的工作区变得杂乱无章,但这样做的好处是双击.sln 文件将使您立即返回调试会话。

对于你的情况,这完全不是问题,但值得注意的是,这样做创建的 .sln 文件仅对调试程序有用,不能用于构建它。