.NET 2.0应用程序因未处理的异常而崩溃。如何调试?没有源代码
我们有一个.NET2.0应用程序在一些PC上运行(全球化:英语/德语) 过去几天,应用程序抛出未处理的异常,应用程序崩溃。我没有要调试的源代码。应用程序日志和事件查看器都是无用的。例外情况说明不了什么 有没有办法在没有源代码的情况下调试并找到异常的原因 提前谢谢.NET 2.0应用程序因未处理的异常而崩溃。如何调试?没有源代码,.net,.net,我们有一个.NET2.0应用程序在一些PC上运行(全球化:英语/德语) 过去几天,应用程序抛出未处理的异常,应用程序崩溃。我没有要调试的源代码。应用程序日志和事件查看器都是无用的。例外情况说明不了什么 有没有办法在没有源代码的情况下调试并找到异常的原因 提前谢谢 Karthik我从内存转储开始。可以对进程进行内存转储。您可以使用该命令反编译代码并获取代码。但实际上应用程序中应该有正确的错误日志记录。它在有效位置详细说明了内部异常,这将使您更好地了解失败的原因。尝试使用.NET反编译器或brill
Karthik我从内存转储开始。可以对进程进行内存转储。您可以使用该命令反编译代码并获取代码。但实际上应用程序中应该有正确的错误日志记录。它在有效位置详细说明了内部异常,这将使您更好地了解失败的原因。尝试使用.NET反编译器或brilliant Graywolf从中获取源代码(Graywolf受其许可证限制,只能用于非商业用途,因此您可能无法选择)您可以使用或Windbg来调试您的进程。要获取更多信息,应使用PDB文件。这是一种有用的情况
您可以在其他答案中找到源代码。请注意,ILSpy和Reflector能够同时进行调试和反编译…您可以使用WinDbg处理崩溃转储或在进程崩溃时附加到进程。托管代码中有足够的类型信息,可以让您有效地进行调试
将其注册为系统上的崩溃处理程序WinDbg.exe-I
加载clr调试扩展.loadby sos clr
以转储异常详细信息!pe
切换到异常线程~#s
以转储线程堆栈!clrstack