Asp.net :一个调试错误 Breakpoint will not currently be hit. No symbols loaded for this document.

   为调试Crystal Report功能,临时建了一个Crystal Report网站(Vs2010, Windows2008, IIS7,基于.NET 4.0),当需要Attach Process 进行调试时遇到了一个错误:
   "Breakpoint will not currently be hit. No symbols loaded for this document."
   如果直接F5进行调试则会成功进入Breakpoint,但Attach Process就会hit不到。
   经过一番偿试,终于解决问题,解决方法或步骤如下


Step 1. 先停止WWW services 服务 
1). 打开 Administrative Tools 再选择 Services项
2). 在Services控制面板, 停止World Wide Web Publishing Service.
 
Step 2. 停止你要调试的网站,直接在IIS中停止它就行。

Step 3. 删除目录 C:\windows\microsoft.net\framework\v4.0.30319\Temporary ASP.NET Files

  (视项目的基于的.net framework版本而定,由于本项目是基于.NET 4.0,所以删除对应版本Framework下的Temporary ASP.NET Files内的文件)


Step 4. 删除在项目的bin或obj 目录下的所以的 PDB 和Dll file文件。
 注:如果debugger没有加裁.pdf文件,则Breakpoin不会被hit到,所以要保证debugger一定载入了symbols内容。我们可以通过下面方式来进行检查:
Debug->Windows->Modules,然后选择你的dll module,看看是否pdf文件被加裁了,如果没有,我们可能手动加载,方法是:Right click the dll model->Select Load Symbols

Step 5. 检查Vs2010此项目的web.config文件,加入 <compilation debug="True">
    <system.web>
     <deployment retail=”true”/>
    </system.web>


Step 6. 使用VS2010重新Publish网站,在发布属性页选中Emit the debug information项.

Step 7.  重启 www services,重启IIS

(命令行方式Start Menu--Run--cmd--c:\>iisreset /restart),再次通过attach process 来调试项目。

通常情况,经过上面操作步骤,绝大部问题都会解决,如果还存在hit不到的情况,则要具体问题具体分析了,

 

以下是有用的相关参考链接。
Visual Studio Debugger FAQ: http://blogs.msdn.com/b/jimgries/archive/2007/08/07/visual-studio-debugger-faq.aspx
Debugger doesn't work:http://blogs.msdn.com/b/mkpark/archive/2004/03/09/86872.aspxBreakpointBreakpoint

will not currently be hit: http://www.visualstudiodev.com/visual-studio-debugger/breakpoint-will-not-currently-be-hit-no-symbols-loaded-for-this-document-11902.shtml

posted @ 2011-07-15 13:09  wsdj  阅读(1266)  评论(0编辑  收藏  举报