没装IE8之前(IE7),Vs2005调试还好用,装了IE8之后, Vs2005的WebSite程序按F5无法正常调试.
需要手动附加到进程, 比较麻烦, 据说还有种方法, 把所有IE窗口都关掉, 再点击启动调试(F5), 调试完之后自动关闭所有窗口, 这种方式更麻烦。解决办法如下:
网上搜索了一下, 发现苦主不少, Microsoft论坛有给出一个解决方案
http://social.microsoft.com/Forums/en-US/vsdebug/thread/e2c795cd-b7a0-4fad-b7c9-b1ca40d7302e
1. 点击【开始】->【运行】 命令:regedit.
2. 定位到HKEY_LOCALMACHINE -> SOFTWARE -> Microsoft -> Internet Explorer -> Main
3. 在【右边区域】【右键】新建一个名称为TabProcGrowth的DWORD值, 数值数据设置为0.
此法好用,已经测试通过。
机器重启后再次不能调试了,再删除后重新添加一下就又可以调试了BNN
====================2 vs单独调试和配合IIS调试
http://blog.csdn.net/cba5796/archive/2009/03/25/4024555.aspx
开始还以为与release什么的有关,后面发现网站可不可以调试与这个没什么关系,可以在网站的web.config文件和当前也没的page指令里设 置,但问题是,我的web.config文件和page指令都没问题。因为默认新建的网站就是开启的,更何况我做的这个项目是已经快完成,而且昨天还没问 题。有点郁闷我,网上也查不到任何有用的资料。
更可恶的是那些ajax控件也出问题了(用了微软的ajax类库),项目无法编译。
找了一个没用ajax的网站测试下,出错,“无法在web服务器上启动调试……”云云。
那没办法,直接用vs自带的web服务器调试了。打开网站,F5行,VS闪了几下,IE运行……靠,pageload里的断点还是没反应……
等等……运行的按钮怎么又变成了绿色,再按F5,居然又开了个IE……
大概……调试菜单里“附加到进程”,选aspnet_wp.exe,附加,刷新IE,靠,终于断下来了。
那?在IIS上怎么办呢?
搜“无法在Web服务器上启动调试”:
“无法在Web服务器上启动调试。Web服务器的配置不正确。请参见有关常见配置错误的帮助。在调试器外部运行网页可能会提供进一步的信息。
原因可能是:在Web服务器上,该应用程序没有启用调试。
解决办法:在IIS默认网站选中指定的应用程序,点属性--〉ASP.NET--〉“编辑配置”按钮--〉应用程序中的“启用调试”打勾。”
打开IIS主目录里的路径出错了,原来我今天把主目录指向的文件夹移走了导致,IIS无法在一个不存在的路径主目录下写于web.config文件,而默认的是否启用调试是从主目录继承过来的
那边删了后,虚拟目录里的是否启用调试成了没有配置的项目,改了主目录的位置,启用调试,OK。
===============4 VS2005 断点不能用的解决办法
断点有时不能正常工作,微软负责开发VS调试器的领导提供了一个在线小Web程序来帮助解决断点问题。利用这个工具,通过交互式的问答形式可以获得一些解决问题的建议。
我根据我的状况检查出的的问题和解决办法: [hovx:关键点=去消源码必须完全一致选项]
The source code is different from the original version
New Feature for Visual Studio 2005
The compilers now checksum the source code when compiling, and record this in the debug information. The debugger uses this checksum to verify that the source file exactly matches the source file at the time of compilation. If it doesn't match, then the breakpoint will not bind.
To fix this, either open the source file that really does match the one at the time of compilation, or disable the checksum. You can disable it on individual breakpoints by right-clicking on the breakpoint in the Breakpoint Window and selecting Location and check Allow the source code to be different from the original version. You can disable it on a global basis via Tools/Options/Debugging/General and uncheck Only use source that exactly matches the original.
本文来自CSDN博客,转载请标明出处:javascript:void(0)
================5[解决只有个别位置不能下断点的问题,其它位置可以下断点]
2009-08-27 | 按三下解决VS2005不能命中断点
据说是因为某个字符的编码和换行符的问题引起的。
以前学到一招,就是用正则替换一次所有的"\n"为"\n"(其实也没替换,不过确实有用,可能是“\r\n”和"\n"的问题)
现在有更简单有效的方法,就是利用VS2005的整理代码的功能,快捷键是:
Ctrl+a,Ctrl+k,Ctrl+f
在不能命中断点的Cpp文件中依次按下这几个键,再保存,调试一下。是不是可以命中断点了?!
(PS:这几个组合键是整理代码的,就是缩进之类的,如果不想被整理,最好不要用这个方法,或者用之前先备份一下这个Cpp文件)
============================================================================调试方法介绍:
第一种办法是调试后台的,只要按平时那样设置好断点,但不需要启动项目。我们只需要选择 调试->附加到进程,然后选择aspnet_wp.exe,这样,运行到你需要调试的页面时,效果就和启动项目的一样的。
另外一种是调试js的,在.aspx页面上的js是无法加上断点的,这时候我们可以单独创建一个js文件,在上面写一个空方法,例如f_test(){},然后把断点加到该空方法上。 然后把此方法加到.aspx页面需要的地方。 最后,我们选择调试,附加进程到IE。这样,我们就可以对.aspx页面上的方法进行调试了。
最后一种是调试存储过程,在服务器资源管理器新建一个数据连接, 选择要调试的存储过程,并加上相应的断点
右击存储过程,选择单步执行存储过程, 输入存储过程需要的参数后便可以开始调试了。