gpt4 book ai didi

.net - mscorwks.dll 中的 System.UnauthorizedAccessException 导致应用程序池崩溃

转载 作者:行者123 更新时间:2023-12-02 00:05:08 24 4
gpt4 key购买 nike

我的应用程序池在 IIS 6.0 MS 调试诊断每次都指向 kernel32.dll 中不断随机崩溃。

入口点始终为 mscorwks!CreateApplicationContext+bbef,结果始终为 System.UnauthorizedAccessException。

堆栈跟踪:

Function                                       Arg 1        Arg 2        Arg 3   
kernel32!RaiseException+3c e0434f4d 00000001 00000001
mscorwks!GetMetaDataInternalInterface+84a9 18316b3c 00000000 00000000
mscorwks!GetAddrOfContractShutoffFlag+ac01 18316b3c 00000000 023cfbd8
mscorwks!GetAddrOfContractShutoffFlag+ac73 00000000 000e8c88 8038b2d0
mscorwks!GetAddrOfContractShutoffFlag+aca4 18316b3c 00000000 023cfbe4
mscorwks!GetAddrOfContractShutoffFlag+acb2 18316b3c acc05c33 7a399bf0
mscorwks!CoUninitializeCor+67be 00000000 023cfc1c 023cfc8c
mscorwks!CoUninitializeCor+87a1 001056e8 79fd87f6 023cfeb0
mscorwks!CorExitProcess+4ad3 023cfeb0 023cfd20 79f40574
mscorwks!CorExitProcess+4abf 001056e8 79f405a6 023cfd04
mscorwks!CorExitProcess+4b3e 000e8c88 00000000 023cfda7
mscorwks!StrongNameErrorInfo+1ddab 00000000 00000000 023cfeb0
mscorwks!StrongNameErrorInfo+1e07c 023cfeb0 00000000 00000000
mscorwks!CoUninitializeEE+4e0b 023cfeb0 023cfe5c 79f7762b
mscorwks!CoUninitializeEE+4da7 023cfeb0 acc05973 00000000
mscorwks!CoUninitializeEE+4ccd 023cfeb0 00000000 001056e8
mscorwks!GetPrivateContextsPerfCounters+f1cd 79fc24f9 00000008 023cff14
mscorwks!GetPrivateContextsPerfCounters+f1de 79fc24f9 acc058c3 00000000
mscorwks!CorExeMain+1374 00000000 00000003 00000002
mscorwks!CreateApplicationContext+bc35 000e9458 00000000 00000000
kernel32!GetModuleHandleA+df 79f9205f 000e9458 00000000

有人知道这意味着什么以及如何解决它吗?

编辑:上面的堆栈跟踪结果只是一种症状,而不是原因。上面的堆栈跟踪仅显示非托管堆栈,但问题发生在托管代码中。我使用下面答案中的步骤来深入研究故障转储并提取托管异常。

最佳答案

对 mscorwks.dll 的引用只是问题的一个症状。 mscorwks.dll 是包含公共(public)语言运行时的 dll。

为了诊断问题的根本原因,我按照以下步骤操作:

  1. 使用DebugDiag当 IIS 回收应用程序池时捕获故障转储。
  2. 打开 windbg 中的故障转储.
  3. 在windbg命令行中输入“.loadby sos mscorwks”(不带引号)以加载CLR调试工具
  4. 使用 !PrintException 命令打印故障转储中记录的最后一个异常。这很可能是导致 IIS 应用程序池回收的原因
  5. 使用 !clrstack 命令查看当前抛出异常的线程的堆栈
  6. 更多有关windbg的命令引用可以找到herehere 。最后,this MSDN blog有关于使用 Windbg 的精彩教程。

祝您的调试之旅好运!

关于.net - mscorwks.dll 中的 System.UnauthorizedAccessException 导致应用程序池崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/640210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com