c# - 调试时出现错误时如何阻止 Visual Studio 2019 保存整个解决方案?
问题描述
所以我现在在 C# .Net Framework 中使用 Visual Studio 2019。
我一直在用 Visual Basic 6.0 编程,当我按下F5
IDE 运行时,如果我按下X
关闭 Vb6.0 IDE,调试时是否出现错误。一个消息框提示我是否要保存更改,因为在调试时出现错误我按否。
现在在使用 C# 的 Visual Studio 2019 中,这不会发生。如果我按下F5
并在调试时发生错误,它会自动保存带有错误的解决方案。如何阻止它保存错误?
解决方案
不,您无法调试尚未使用 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(或本月所称的任何名称)也是一种可能。
推荐阅读
- java - 发送电子邮件 phpmailer 和 javax.mail
- inno-setup - 在整个安装过程中可见的单独窗口中显示消息
- node.js - 如何通过猫鼬更新子文档值?
- react-native - 如何在离线或无法加载广告时隐藏广告横幅 - 在 React Native with Expo 中?
- php - PHP单页表单验证表单未验证
- firebase - Firestore AdminSDK 重试超时
- r - 如何在 R-Markdown 中制作带有分隔符的表格
- javascript - Selenium WebDriver 无法将文本发送到 InputBox
- javascript - 仅求和所需的数组元素
- linux - 使用 shell 脚本和 awk 格式化然后将 txt 转换为 csv