VStudio - 调试模式 vs. 发布模式以及“不带调试启动”

8

我正在使用Visual Studio 2008进行项目开发。

  1. 有一个下拉菜单可以选择Debug(调试)/Release(发布)模式。
  2. 还有一个“不带调试启动”选项(CTRL + F5)。

如果我选择Debug模式但是选择“不带调试启动”,会发生什么冲突吗?

这两个菜单之间有什么关系?


这个问题类似于https://dev59.com/OHNA5IYBdhLWcg3wgeId。 - JAiro
6个回答

6

调试模式会影响编译;它禁用了优化并生成完整的调试符号。

无调试启动只是普通地运行EXE文件,没有连接调试器。(就像在资源管理器中双击它一样)


6

这些功能完全正交。

构建的选择是(默认情况下,您可以单独更改这些设置并创建新的构建目标):

  • 调试构建生成调试信息,禁用IL优化,并定义DEBUG条件符号
  • 发布构建不会生成调试信息,启用IL优化,并且未定义DEBUG符号

运行 vs 以无调试器运行 确定调试器是否附加到已启动的进程。默认情况下,使用调试器启动也会禁用JIT优化。


谢谢。如果应用程序是启动调试还是非调试模式,我该如何以编程方式获取信息? - Ahmet Altun

4

如果你选择不使用调试模式启动,那么你将在VS本地服务器上运行项目而非调试模式。如果你选择调试模式,同样的事情会发生,但是你可以使用断点逐步执行程序,并在运行时查看变量的值,还可以使用VS强大的调试工具查看它们的内存管理。


2

这是开始 调试。CTRL+F5基本上是根据您通过下拉菜单选择的可执行文件(即可执行文件的调试版本或发布版本)运行可执行文件(而不使用调试器)。


1

我的理解是,使用调试开始会附加调试器,无论应用程序如何编译。而不带调试开始只是正常运行应用程序,同样不考虑它是如何编译的。

我认为你在这种情况下混淆了编译和调试。你可能将其编译为x86,但对于调试目的来说,它是x86并不重要。


0
我刚刚意识到,当你使用“启动而不调试”时,它会影响文件的创建和断点的工作。既不能创建文件,也不能使用断点。如果你需要这些功能正常工作,请使用“调试”选项。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接