如何在调试Visual C++程序时禁用符号加载?

fxa*_*xam 7 debugging qt visual-c++

我正在使用Visual Studio 2008.我不需要在我的项目中调试一些DLL,因此在调试Visual C++程序时是否可以禁用符号加载?调试时是否有助于缩短启动时间?

符号都是本地的,所以我没有那些缓慢的加载问题,只是想让调试越来越快.

例如,我使用的是Qt库,当我点击"Starting Debugging"时,Output窗口显示加载了Qt库的符号.如果VS可以停止加载这些符号,则调试启动时间应该更快.当然,我仍然希望VS为我的可执行文件加载符号.

fxa*_*xam 20

刚刚发现Visual Studio 2010实际上做了我想要的.

要仅加载可执行文件的符号,而不加载其他符号(例如:DLL):

  1. 转到工具 - >选项 - >调试 - >符号
  2. 单击"仅指定模块"
  3. 清除"始终加载位于模块旁边的符号"
  4. 单击"指定模块"
  5. 单击新图标
  6. 输入您的可执行文件名(例如:my-awesome-app.exe)

还发现Visual Studio 2010在调试时似乎比Visual Studio 2008表现更好.调试停止时,至少IDE布局会更快地切换回来.


lin*_*r27 0

我不确定你所说的“启动”是什么意思。我假设您正在谈论实际应用程序的启动。无论您以何种方式启动目标应用程序,启动目标应用程序的时间都很昂贵。在发布版中可能会少一些,但可以忽略不计。

关闭其他解决方案中提到的所有符号路径是一个可行的选择。但是,如果您不希望启动的应用程序使用符号,我不确定为什么要进行调试。如果没有应用程序符号,您在调试时将无法看到源代码中的位置。

如果您正在寻找更快的调试体验,可以使用WinDbg。它随 Windows SDK 一起提供,但也可以单独下载。它是比 Visual Studio 更快的 UI,但如果您更习惯 GUI,那么使用起来会更麻烦。WinDbg 使用命令来执行几乎所有任务,但您可以进行一些出色的调试,并且在许多情况下与 Visual Studio 相比速度更快。如果您想要调试 C++\CLI 或任何托管应用程序(例如 C#),我会坚持使用 Visual Studio。WinDbg 中有一个名为SOS的扩展,但它需要一些高级的调试经验才能正确使用。