首页 > 解决方案 > 调试时出现错误时如何阻止 Visual Studio 2019 保存整个解决方案?

问题描述

所以我现在在 C# .Net Framework 中使用 Visual Studio 2019。

我一直在用 Visual Basic 6.0 编程,当我按下F5IDE 运行时,如果我按下X关闭 Vb6.0 IDE,调试时是否出现错误。一个消息框提示我是否要保存更改,因为在调试时出现错误我按否。

现在在使用 C# 的 Visual Studio 2019 中,这不会发生。如果我按下F5并在调试时发生错误,它会自动保存带有错误的解决方案。如何阻止它保存错误?

标签: c#visual-studiovisual-studio-2019

解决方案


不,您无法调试尚未使用 Visual Studio 保存的代码。如果您想查看它所经历的过程,请执行以下操作:

  • 打开工具 -> 选项
  • 单击“项目和解决方案”,然后单击“构建并运行”
  • 将“MSBuild project build output verbosity”更改为“Normal”(或者,如果您想查看很多内容,请选择“Detailed”或“Diagnostic”
  • 重建你的项目

您将看到 VS 调用编译器并将每个文件(以及所有引用)的路径传递给编译器。它需要保存并编译然后执行您的代码。

VS 调试器是一个完整的 Windows 调试器。打开 Windows 资源管理器,双击您的 EXE。现在打开VS,在调试菜单中,选择“附加到进程”并选择你正在运行的EXE。您正在调试它(您可以附加到您有权访问的任何进程,但附加到符号方便的调试版本可为您提供最佳体验)。

BASIC 和 pre-.NET VB 以解释语言开始。预处理器将获取您的源并将其转换为tokens。然后解释器会在运行您的程序时解释这些标记。尽管传统 VB 的最后几个版本可以将您的代码编译为 EXE,但那个解释器仍然存在。

特别是,调试器使用了它。当您运行 VB6(和更早版本)调试器时,调试器并没有调试您的程序,它调试了您的源代码 - 将自身注入解释器,而不是将自身附加到 EXE。这就是您所询问的行为起作用的原因。

正如我所提到的,设置源代码控制系统(这始终是一个好主意)将帮助您接近您想要的。Git 可能是最容易设置的。Visual Studio Team Foundation Services(或本月所称的任何名称)也是一种可能。


推荐阅读