28

想在调试器下调试一个可执行文件。如何在视觉工作室中做到这一点。

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

这个问题与Visual Studio 2010 中的 Debug exe并不完全相同, 因为我对执行图像文件来调试启动并不感兴趣。

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

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

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

4

3 回答 3

40

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

于 2013-02-26T22:18:16.923 回答
4

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

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

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

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

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

  1. 确保您的构建设置为发布。
  2. 导航到调试-> 不调试就开始
于 2018-07-17T17:56:39.047 回答
0

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

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

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

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

于 2020-09-22T12:41:04.570 回答