VStudio - 调试模式与发布模式和“无需调试启动”

时间:2011-06-23 17:38:45

标签: c# .net visual-studio visual-studio-2008 debugging

我正在使用Visual Studio 2008开发一个项目。

  1. 您可以选择调试/发布。
  2. 还有一个Start Without Debugging(CTRL + F5)选项。
  3. 如果我选择调试模式但是在没有调试的情况下启动会怎样?这不是冲突吗?

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

6 个答案:

答案 0 :(得分:6)

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

Start Without Debugging只是正常运行EXE,没有连接调试器。 (好像你在资源管理器中双击它一样)

答案 1 :(得分:6)

这些功能完全正交。

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

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

Run vs Run without Debugger确定调试器是否附加在已启动的进程上。默认情况下,从调试器开始也会禁用JIT优化。

答案 2 :(得分:3)

如果在没有调试的情况下启动,则将在调试模式之外的VS localhost服务器中运行项目。如果你选择Debug,会发生同样的事情,但你可以使用断点逐步执行程序,并在运行时检查变量的值,并使用VS cool调试工具查看它们的内存管理。

答案 3 :(得分:1)

启动没有调试。 CTRL + F5基本上根据您通过下拉列表选择的可执行文件(没有调试器)运行可执行文件,即可执行文件的调试版本或发行版本。

答案 4 :(得分:1)

我的理解是,无论编译应用程序的方式如何,从调试开始都会附加调试器。在没有调试的情况下启动只需正常运行应用程序,无论它是如何编译的。

我认为在这种情况下你会混淆编译和调试。您可以为x86编译它,但它是x86的事实对于调试目的无关紧要。

答案 5 :(得分:0)

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