【发布时间】:2017-03-18 16:17:12
【问题描述】:
我正在使用 Visual Studio 2008(32 位。我的机器是 64 位)。我已经构建了一个 Windows 窗体 EXE 应用程序。现在我想在 Visual Studio 中附加该过程,这样当我从项目的 Debug/Release 文件夹运行 EXE 时,它应该会遇到我在当前在 Visual Studio 2008 中打开的代码中设置的断点。
我可以看到有一个名为 MyApplicationName.vshost.exe 的进程,但附加按钮是灰色的。
我想调试 EXE 的原因是,我想在运行时调试 EXE。当我从 Debug/Release 文件夹运行 EXE 时出现异常,但是当我运行代码时,我没有得到任何异常
请让我知道我应该在 VS2008 中附加哪个进程,以便当我从项目的 Debug/Release 文件夹运行我的 EXE 时,它应该会到达我在我的代码中设置的断点,该代码当前在 Visual Studio 2008 中打开.
【问题讨论】:
-
为什么不直接从vs运行应用呢?但除此之外,您仍然应该能够将 vs 附加到正常进程,如果您构建了一个正常的小型应用程序,它们不应该有很多。你确定你从 bin/debug 文件夹中执行了正常的 exe 文件吗?
-
同意@MetaColon,这似乎不是一个正常的工作流程。如果有帮助,您可以将Debugger.Break() 调用编译到您的应用程序中(可能使用命令行开关或条件编译进行保护)。当该语句运行时,Windows 将询问您是否要附加调试器,您可以选择一个正在运行的 Visual Studio 实例或启动一个新实例。
-
@MetaColon 原因是我想调试 EXE 运行时。当我从 Debug/Release 文件夹运行 EXE 时出现异常,但是当我运行代码时,我没有得到任何异常。
-
@TomBlodget 在我的代码中添加了“Debugger.Break()”。我收到“无法开始调试”的错误。远程机器上的远程调试监视器已关闭
-
Heisenbugs 是一个挑战。维基百科有一小部分关于分辨率。
标签: c# vb.net visual-studio-2008 visual-studio-debugging