如何检测CLR抛出的exception?

我正在使用WaitForDebugEvent() API来处理debugging事件,同时debugging第三方应用程序。 我经常遇到由CLR抛出的访问冲突(恶意使用一些.NET库)。 我后来看到,当我分析与WinDbg迷你转储。 当WaitForDebugEvent()返回时,我可以立即检测到来自CLR的exception吗?

以下是捕获exception的细节:

EXCEPTION_RECORD: (.exr -1) ExceptionAddress: 000007fef7e870eb (clr!EEFileLoadException::Throw+0x00000000000001ac) ExceptionCode: c0000005 (Access violation) ExceptionFlags: 00000000 NumberParameters: 2 Parameter[0]: 0000000000000000 Parameter[1]: 000000000000007d Attempt to read from address 000000000000007d

Windows服务挂起在启动过程中启动

LNK2022元数据操作:重复types中的布局信息不一致

构造函数/析构函数链接错误

.NET CLR性能计数器丢失

CLR如何实现COM实现的二进制互操作级别? 还是不?

.Net 4.0 Windows应用程序在Windows Server 2008下的clr.dll中崩溃

0xc000007b错误 – 但所有DLL都是32位

了解.NET应用程序内存大小

你如何保护自己免受内存消耗失控打破个人电脑?

CLR之间的区别

所有来自CLR的异常都有ExceptionCode,格式为0xE0 ******,NumberParameters> 3.最常见的是我看到的 – e0434352(0xe0000000 +'CCR') – 例如: – 这个 : –

未知的异常 – 代码e0434352(一次机会)是一个很大的线索。 如果你看看这个错误,你可能会看到一些十分熟悉的“0x43”,“0x43”,“0x52”或“C”“C”R“的十六进制。 不,这不是对Creedence的敬意,也不意味着有一个不好的月亮上升。 这告诉我错误是从CLR运行时抛出的。 甜。 事情变得更简单了。

另一个公共代码 – 0xE0434F4D(0xe0000000 +'COM') – CLR如何将SEH异常映射到托管的异常类型

编辑:

CLR抛出的访问冲突

你的意思是直接的STATUS_ACCESS_VIOLATION异常? 在这种情况下没有办法检测,但我从来没有在CLR直接看到这一点。 或者当CLR抛出RaiseException和ExceptionInformation [0] – > STATUS_ACCESS_VIOLATION?

相关文章

引言 本文从Linux小白的视角, 在CentOS 7.x服务器上搭建一个...
引言: 多线程编程/异步编程非常复杂,有很多概念和工具需要...
一. 宏观概念 ASP.NET Core Middleware是在应用程序处理管道...
背景 在.Net和C#中运行异步代码相当简单,因为我们有时候需要...
HTTP基本认证 在HTTP中,HTTP基本认证(Basic Authenticatio...
1.Linq 执行多列排序 OrderBy的意义是按照指定顺序排序,连续...