在调试模式下启动工作进程(w3wp.exe)是啥意思?
Posted
技术标签:
【中文标题】在调试模式下启动工作进程(w3wp.exe)是啥意思?【英文标题】:What does it mean start a worker process (w3wp.exe) in debug mode?在调试模式下启动工作进程(w3wp.exe)是什么意思? 【发布时间】:2014-08-11 08:29:11 【问题描述】:所有,根据WAS。文档说工作进程由 WAS 管理。
但是我在输入w3wp /?
时发现有一个调试标志。
-debug
This option launches a worker process using the default
application host config file. By default, it will use
site id 1.
在调试模式下启动工作进程是什么意思?在什么情况下我们要使用调试选项启动工作流程?谢谢。
已添加
我不知道为什么运行w3wp.exe -debug
时出现异常。
错误:处理此命令期间出现错误。 请检查事件日志,看看是否有任何错误或警告 记录。
当我检查日志时。它看起来像:
万维网发布服务未能设置应用程序 站点“1”中应用程序“/xxxx”的池。数据字段包含 错误号。
【问题讨论】:
我的猜测是只调试 w3wp.exe 本身的代码(不是它所托管的)是/否。 @MarvinSmit 感谢您的回复。你的意思是调试 w3wp.exe 本机代码? 是的。 Microsofties 在 W3WP.exe 进程上使用 WinDbg。也许它可以在调试时进行内存转储。或者当调试关闭时,它只是另一个额外的“尝试/捕获”? 其实我在看Open Cover的教程。在run against with IIS
part 中。它应该添加调试选项。我只是不明白它是做什么用的。所以我在这里发布一个问题。我用关键字 w3wp.exe debug option
谷歌搜索。到目前为止没有得到我希望的结果。
而且我知道 WinDbg 可以使用本机代码 (c++) 进行调试。但是如果WinDbg
需要调试 w3wp 。有必要以-debug
开头吗?
【参考方案1】:
根据http://support.microsoft.com/kb/183480,它会切换运行用户的安全上下文,这不是其正常的操作模式——我想这会使附加调试器和其他实用程序更容易。
【讨论】:
++1 感谢您审阅我的问题。非常感谢作者可以帮助审阅 SO 中的问题。我只是想知道为什么OpenCover
需要在调试模式下启动 w3wp。我原以为所有的调试和代码信息都可以在 .net 汇编的 PDB 文件中找到。这样对吗 ?谢谢。
OpenCover 是一种用于测试实用程序(例如 nunit 和 mstest)的工具,但它可以用于其他进程(尽管我个人不同意以这种方式使用它,但我知道有些人没有其他追索权)。对于 OpenCover 和目标进程使用事件和共享内存块进行通信,它们需要具有相同的权限(这可能非常棘手) - 通过在调试中运行 w3wp,它不会在与用户相同的上下文中运行,并且这权限不是问题。它还阻止人们尝试在生产系统中执行此操作 - 这是 IMO 的一大禁忌。以上是关于在调试模式下启动工作进程(w3wp.exe)是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章