【问题标题】:Debugging an executable in visual studio在 Visual Studio 中调试可执行文件
【发布时间】:2013-02-26 19:28:56
【问题描述】:

想在调试器下调试一个可执行文件。如何在 Visual Studio 中进行操作。

Windbg 有一个打开可执行文件的选项。但我发现 VS 2010 中缺少这一点。

问题与 Debug exe in visual studio 2010 因为我对调试启动的图像文件执行并不感兴趣。

宁愿只调试调试器下的exe,一旦坏了,想 设置一些断点并了解执行流程。

尽管执行图像文件是一种解决方法。

我不确定这个问题是否幼稚;但这是一个非常直线的用例场景,我发现在 MS VS 2010 中丢失了。

【问题讨论】:

标签: visual-studio debugging exe


【解决方案1】:

如果您要问的是如何将 VS 附加到您要运行的 exe,那么您可以按照以下步骤操作:

  1. 运行可执行文件
  2. 在 VS 中导航到 Debug -> Attached to Process
  3. 找到通过运行可执行文件创建的进程,然后单击“附加”。

但是,如果您尝试运行的可执行文件几乎立即失败或快速运行并退出,那么您可以尝试以下步骤:

  1. 在代码开头设置调试点
  2. 将您的构建切换为“调试”并运行应用程序。

如果您的应用程序在调试中运行,但在执行 exe 时失败,那么您可以尝试这些步骤来查看您的应用程序是否会在控制台窗口或其他窗口中提供更多信息。

  1. 确保您的构建设置为发布。
  2. 导航到调试 -> 不调试就开始

【讨论】:

    【解决方案2】:

    您没有在问题中指定它,但我假设您没有源代码。只需使用文件/打开项目/解决方案,选择 EXE 文件并打开它。然后选择调试/开始调试。另一个选项是先运行 EXE,然后选择 Debug/Attach to process。

    【讨论】:

    • 如果您碰巧有一个命令行应用程序要调试,它会立即启动和完成而无需任何用户交互,您可能希望使用 Debug / Step Into 而不是 Debug / Start。顺便说一句,如果您打开解决方案资源管理器,您应该会在解决方案下看到您的 EXE。通过右键单击它,您会看到一个带有两个选项的 Debug 菜单,“Start new instance”和“Step Into new instance”。您也可以使用这些选项开始调试。
    • 它给了我System.ExecutionEngineException
    • 当我在远程机器上选择一个 exe 时。这是远程执行还是本地执行?
    • 如果您选择位于文件共享上的 exe(例如:\\server\share\myfile.exe)。它将在本地执行。
    【解决方案3】:

    如果你有源代码,可以使用Debugger.Launch();

    您将它放在代码中的任何位置,构建 .exe,然后一旦它启动(例如通过 Process.Start)并到达 Debugger.Launch();,将有一个窗口询问您要如何附加到该进程。

    通常,您将附加到某个 Visual Studio 实例,它会自动暂停已放置 Debugger.Launch(); 的调试器。

    然后您可以打开项目的文件(文件 -> 打开 -> 文件...)并在任意位置放置断点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-23
      • 2020-11-14
      • 2011-11-27
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      相关资源
      最近更新 更多