什么是CLR Exception---E0434F4D
就是公共语言运行时(CLR)异常,异常代码为0xE0434F4D。因此任何托管异常,如NullReferenceException、invalidooperationexception或SQLException…基本上所有托管异常都在本机中称为0xe0434f4d。代码的后面三个字节对应assic码的 "COM",所以又叫COM异常。
!PrintException
输出异常的信息。E0434F4D的异常结构填充
当发生了E0434F4D的CLR Exception时,Exception_Record结构各成员填充值如下:
ExceptionAddress: 77e4bee7 (kernel32!RaiseException+0x00000053)//引发异常地址
ExceptionCode: e0434f4d (CLR exception)//异常代码
ExceptionFlags: 00000001
NumberParameters: 1//附加参数个数,可能为0
Parameter[0]: 80131509//映射的HRESULT值,代表的具体错误,对应一个 CLR异常类型
附加参数的个数可能为0,此时一般对应clr COMException
一般调试分析步骤
下面的步骤主要针对包含E0434352异常的dmp分析的:
观察异常信息
输入.exr -1观察异常结构,确定两个信息:
- Exception Code
- Parameter[0] - HRESULT
获取CLR异常具体信息
输入!sos.pe来获取如下信息:
- Exception object - address of class instance
- Exception type - Class name of the exception
- Message - String description of the exception
- Inner Exception - Address of the inner exception
- Stack Trace