yzx99

导航

 

目的:调试已发布的网页,服务器在本机。
步骤:
·建立一个“ASP.NET Web应用程序”项目
·Default.aspx的Page_Load中加入一行
int i = 0;
并设为断点
·编译,发布到C:\Inetpub\wwwroot\test1
·IIS管理器中test1设为虚拟目录,并且允许匿名访问(这一项怎么不会从主站继承下来?)
·直接在IE中打开该网,并没有产生中断
·如果VS中使用“调试”-->“附加到进程…”,选择aspnet_wp.exe,再打开该网页,则能够产生中断
·如果在工具栏上的生成类型,由默认的“Debug”改为“Release”,再生成、发布、附加到进程…,这时,就会弹出提示:
生成下面的模块时,启用了优化或没有调试信息:
C:\WINDOWS\Microsoft.NET\Framework\V2.0.50727\Temporary ASP.NET Files\a_rsweb\f821b8d4\5a8489ad\assembly\dll3\4a72ff66\4406aba3_1a89c901\ZUCon1.DLL
若要调试此模块,请将其项目生成配置更改为“调试”模式。若要取消显示此消息,请禁用“启动时若没有用户代码则发出警告”调试器选项。

这时,IE打开该网页也不会中断产生
从“视图”-->“输出”窗口中可以看到加载的过程
从中可以看出有几种情况:
1、已跳过符号加载。已对模块进行了优化并启用了调试器选项“仅我的代码”。
2、符号已加载。
装载的内容如果是公共模块的,还可以理解。但有些是其它模块的,它也装载进来。可能是为了网站跳到其它模块时处理。
如果把C:\WINDOWS\Microsoft.NET\Framework\V2.0.50727\Temporary ASP.NET Files目录清空(要把World Wide Web Publishing服务,即W3SVC服务停止才能清空该目录)
这时附加进程就没那么杂了。
·再把生成类型,改为“Release”,这时也没有弹出信息。所以感觉该信息往往不是本系统的原因,而是缓冲中存在某个DLL是Release造成的。

相关的几个设置:
从“工具”-->“选项”-->“项目和解决方案”-->“常规”中,把“显示高级生成配置”打勾,这样,才能在“项目”-->“xxx 属性”-->“生成”的顶部显示出“配置”下拉框,这个“配置”下拉框与工具栏上的“生成类型”下拉框性质是不一样的,工具栏上的是指当前要用哪一种配置,而这里的只是说各种配置具体指什么。

从“工具”-->“选项”-->“调试”-->“常规”中,“启用"仅我的代码"(仅限托管)”,
“启动时若无符号则发出警告(仅限本机)”

posted on 2009-02-10 17:08  yzx99  阅读(1024)  评论(0编辑  收藏  举报