【发布时间】:2011-09-21 10:42:08
【问题描述】:
我正在使用 Visual Studio 2008 开发一个项目。
- 有一个下拉菜单供您选择调试/发布。
- 还有一个 Start without Debugging (CTRL + F5) 选项。
如果我选择调试模式但没有调试就启动会怎样?不是冲突吗?
这两个菜单有什么关系?
【问题讨论】:
标签: c# .net visual-studio visual-studio-2008 debugging
我正在使用 Visual Studio 2008 开发一个项目。
如果我选择调试模式但没有调试就启动会怎样?不是冲突吗?
这两个菜单有什么关系?
【问题讨论】:
标签: c# .net visual-studio visual-studio-2008 debugging
这些特征是完全正交的。
构建的选择确实(默认情况下,您可以单独更改这些设置并创建新的构建目标):
Run 与 Run without Debugger 确定调试器是否附加到已启动的进程上。默认情况下,从调试器开始也会禁用 JIT 优化。
【讨论】:
调试模式影响编译;它会禁用优化并生成完整的调试符号。
Start without Debugging 只是正常运行 EXE,无需附加调试器。 (就像你在资源管理器中双击它一样)
【讨论】:
如果您在没有调试的情况下开始,您将在调试模式之外的 VS localhost 服务器中运行您的项目。如果您选择调试,同样的事情也会发生,但您可以使用断点单步执行程序,并在运行时检查变量的值,还可以使用 VS 很酷的调试工具查看它们的内存管理情况。
【讨论】:
开始没有调试。 CTRL+F5 基本上运行可执行文件(没有调试器),具体取决于您通过下拉菜单选择的那个,即可执行文件的调试版本或发布版本。
【讨论】:
我的理解是,无论您的应用程序是如何编译的,从调试开始都会附加调试器。启动而不调试只是正常运行应用程序,不管它是如何编译的。
我认为您在这种情况下混淆了编译和调试。您可以为 x86 编译它,但它是 x86 的事实对于调试目的并不重要。
【讨论】:
我刚刚意识到,当您使用 Start without Debugging 时,它会影响文件的创建和断点的工作。 创建文件和使用断点都不起作用。如果您需要这些东西来工作,请改用 Debug 选项。
【讨论】: