hma*_*mak 68 asp.net debugging
我有一个ASP.NET网站,当我按F5它会自动附加到ASP.NET开发服务器时,当我按F5时,如何附加到IIS工作进程?
ckr*_*mer 96
调试 - >附加到进程...
从列表中选择aspnet_wp.exe进程.
如果您正在运行IIS>版本5,则该过程将是w3wp.exe,并且每个应用程序池都会有一个(因此,如果您不知道您正在使用哪个应用程序池,则需要附加到所有应用程序池)他们).
Sti*_*ack 50
打开项目属性,转到Web选项卡并选择IIS选项.
这实际上是在IIS中启动应用程序的实例并附加调试器.如果您只想附加到现有IIS实例,请从调试菜单中选择附加到进程.
yoe*_*alb 11
从VS菜单调试 - >附加到进程.
要了解要附加到哪个w3wp.exe进程,可以在2008服务器上使用以下命令
c:\%systemroot%\system32\inetsrv\appcmd list wp
Run Code Online (Sandbox Code Playgroud)
虽然在Windows 2003上它是
c:\%systemroot%\system32\cscript iisapp.vbs
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅IIS应用程序池PID.
但是,如果您可以访问任务管理器(taskmgr.exe),则可以直接看到进程的名称以及进程ID,并且在大多数情况下,进程的"用户名"列将与应用程序相同池名称,(当然,您必须将这些列设置为在任务管理器中可见,以便查看信息).
但请注意,所有方法都只显示当前正在运行的进程,这意味着如果您的特定进程由于空闲时间而关闭,则您首先要使用该站点以便将该进程放入列表中.
此外,如果应用程序是"Web Garden"(具有多个w3wp.exe),那么即使在附加到正确的进程之后,仍然无法保证断点将被命中,因为到站点的流量可能会被定向到另一个处理.
另请注意,如果您附加到以发布模式运行的应用程序,它现在将在调试模式下运行,这意味着例如没有超时限制(如果您实际尝试的话,这可能会有点问题)解决超时错误).
如果您想要附加到远程进程,这是最佳做法:
当然,这个主题还有很多,而且为了调试本机代码,这个过程可能更简单,但我在这里列出的步骤应该适用于所有情况.
有关更多信息,您可以查看http://www.codeproject.com/KB/aspnet/IISRemoteDebugging.aspx或MSDN以及此站点上的许多帖子.
希望这会有所帮助.
或者您可以使用Attach to IIS插件之一到Visual Studio.
我的首选扩展是VSCommands(适用于VS 2010 - 2012或2013,但尚未2015)或ReAttach(适用于2017年).