错误备忘_VS_VS 2008 下不能调试程序
本文内容
- VS 2008 下不能调试程序
- 正常情况
- 错误重现
VS 2008 下不能调试程序
有时,在 VS 2008 下开发应用程序时,一不小心就会出现“当前不会命中断点……”的错误。此时,不能再调试程序了。
简单建一个项目,比如 Web 项目。页面放个按钮,并在该按钮事件写 Response.Write("Debug…"),此时调试没问题。但是如果改变 VS 调试的设置,并新写一行代码 Response.Write("Can not Debug…"),就会出现图1和图2的问题,不能调试该行代码。如下所示。
图1 "当前不会命中断点……"
图2 不能调试模块
当出现这样问题时,起初会让人很郁闷……搞半天都可能弄不好,严重耽误开发。
而这样的问题,不一定是你不小心改了 VS 的配置,也许是某个“好心”人进行的变更,然后“签入”到代码管理器,当你获得最新代码后,就出问题了。
下面先介绍一下正常的情况。之后,再现这个错误。
正常情况
正常情况下,如果可以进行调试,那么断点的地方应该是“实心的大红点”,否则,是“空心的大红点”。
其实,当发生这个问题时,估计你能意识到问题出在哪里——也许是 Debug 的相关配置,也许是“生成”的相关配置等等。而事实上,的确如此。下面再现这个问题。
错误重现
改变程序集输出路径
图3 程序集输出路径
图4 改变 改变程序集输出路径
最初 debug 的输出路径是 "bin\",如果某个“好心”人改变了这个路径,比如 "bin\debug",那么就会本文的错误。此时,当前项目 "bin\" 目录和 "bin\debug" 目录都有该项目的 dll 文件。这显然是不对的。就会出现图1的问题。
一般,程序集输出的 dll 文件,debug 默认配置是在 "bin\debug" 目录下。而 VS 2008 的 Web 项目的 debug 默认配置是在 "bin\"。
改变 “调试信息”
图5 调试信息
图6 改变“调试信息”为 "none"
此时就会出现图2的问题。