今天在调试asp.net的网站的时候,附加上w3wp进程后,设置的断点没有作用,鼠标移上去,提示说没加载符号文件,

于是我重新编译网站,并且检查web.config里面的设置也是<compilation defaultLanguage="c#" debug="true">,再试着附加

进程,但是还是不行,苦闷了。

  关掉vs,重来,再附加w3wp进程,突然看到有两个w3wp进程,如下:

咋会有两个进程啊,试试附加另外一个进程,就是NETWORK SERVICE的那个进程,居然可以调试。

这两个进程咋来的啊,是啊,咋来的,我也没整明白,那往下探探,于是用ProcessMonitor工具看看这两个进程是咋回事,

于是打开ProcessMonitor,在Tools菜单下选择Process Tree,显示如下:

看到了,原来我在IIS6里面新建了一个ApplicationPool用于运行.Net4.0的网站,而这个网站正是4.0的,即AppPoolNet4.0这个进程。

也就是我们本来就应该附加AppPoolNet4.0进程才能调试,原先不成功是因为附加成默认的.net2.0的进程了。

posted on 2013-01-07 16:41  hegang  阅读(150)  评论(0编辑  收藏  举报