问题描述
||
我尝试添加
System.Diagnostics.Debugger.Launch();
到我的IIS ASP.NET网站代码。我以标准AppPoolIdentity用户身份运行该应用程序,它弹出一个调试窗口,在这里我可以选择附加VS2010并调试过程。我的问题是,什么允许AppPoolIdentity(虚拟)用户权限与我的桌面进行交互?通常,这是不允许的。已在Windows 7 x64上进行了测试。
谢谢!
解决方法
当发生未处理的异常时,将在注册表中进行检查以查看列出了哪个调试器。
32位系统使用:
KEY_LOCAL_MACHINE \\ SOFTWARE \\ Microsoft \\ Windows NT \\ CurrentVersion \\ AeDebug \\ Debugger
这也可能是安全漏洞的根源-请参阅
http://support.microsoft.com/kb/923827
有关AEDebug注册表项的详细信息,请参见:
http://msdn.microsoft.com/zh-CN/library/5hs4b7a6.aspx
应用程序池标识不与您的桌面交互-调试器请求已交互。在您选择调试之前,没有任何“交互”,在那时,调试器启动并附加到该进程。
, 容易做的是在VS附加过程中,选择IIS。您可以在应用程序中设置一个断点,该断点将在该断点处停止。它也将停止您PC上的每个网站!!!!
您可以做的另一件事是在应用程序上设置调试模式。默认只是我的代码。告诉它也调试本机代码。
这是一个像你一样的问题
如何在不触发Application_Start事件的情况下启动aspnet_wp.exe