Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用DebugDiag或WinDbg确定堆栈溢出异常的代码位置?_C#_Stack Overflow - Fatal编程技术网

C# 如何使用DebugDiag或WinDbg确定堆栈溢出异常的代码位置?

C# 如何使用DebugDiag或WinDbg确定堆栈溢出异常的代码位置?,c#,stack-overflow,C#,Stack Overflow,有时,在IIS 7.5(Windows Server 2008 R2)下运行的C#/ASP.NET 4.5 web应用程序会出现堆栈溢出异常。上周,我们碰巧在2分钟内发生了5次堆栈溢出异常,导致应用程序池被禁用。在过去的6个月中,这种情况还发生过几次 我正在努力追踪我的代码中的哪些部分会导致这种情况发生。我使用崩溃转储文件(在c:\programdata\microsoft\windows\wer\folder中)运行了WinDbg和DebugDiag,但无法确定代码中导致这些异常的原因,因为我

有时,在IIS 7.5(Windows Server 2008 R2)下运行的C#/ASP.NET 4.5 web应用程序会出现堆栈溢出异常。上周,我们碰巧在2分钟内发生了5次堆栈溢出异常,导致应用程序池被禁用。在过去的6个月中,这种情况还发生过几次

我正在努力追踪我的代码中的哪些部分会导致这种情况发生。我使用崩溃转储文件(在c:\programdata\microsoft\windows\wer\folder中)运行了WinDbg和DebugDiag,但无法确定代码中导致这些异常的原因,因为我不知道要确定罪魁祸首是什么


非常感谢您提供有关如何读取分析的崩溃转储的任何指导。

可能会有所帮助。在Windbg中,加载崩溃转储和SOS(
.loadby SOS clr
)后,列出包含
的线程!线程
。应该有一个例外(在最后一列中指出)。从那里,您可以切换到线程并使用
!clrstack
显示调用堆栈这是我在执行第一部分时得到的结果:此转储文件中存储了一个感兴趣的异常。存储的异常信息可以通过.ecxr访问。(14c8.1334):堆栈溢出-代码c00000fd(第一次/第二次机会不可用)当前检查的用户转储是小型转储。因此,只有sos.dll功能的一个子集可用。如果需要,连接到实时进程或调试完整转储将允许访问sos.dll的完整功能集。要创建一个完整的用户转储,请使用命令:.dump/ma是的,第二部分呢?是的,我成功了,非常感谢。我意识到我需要加载我的符号,然后我可以让其余的工作。可能有帮助。在Windbg中,加载崩溃转储和SOS(
.loadby SOS clr
)后,列出带有
的线程!线程
。应该有一个例外(在最后一列中指出)。从那里,您可以切换到线程并使用
!clrstack
显示调用堆栈这是我在执行第一部分时得到的结果:此转储文件中存储了一个感兴趣的异常。存储的异常信息可以通过.ecxr访问。(14c8.1334):堆栈溢出-代码c00000fd(第一次/第二次机会不可用)当前检查的用户转储是小型转储。因此,只有sos.dll功能的一个子集可用。如果需要,连接到实时进程或调试完整转储将允许访问sos.dll的完整功能集。要创建一个完整的用户转储,请使用命令:.dump/ma是的,第二部分呢?是的,我成功了,非常感谢。我意识到我需要加载我的符号,然后我可以让其余的工作。