DOTNET_EnableWriteXorExecute引起另外一个异常
💡
原文中文,约3000字,阅读约需7分钟。
📝
内容提要
本文讨论了由于W^E开启导致的异常现象,以及在Debug.Net7环境下出现的问题和异常地址的来源。通过示例和调试信息,说明了断点和内存映射引起的异常。最后总结了异常的原因和结论。
🎯
关键要点
- W^E开启导致的异常现象实际上不是异常,而是内存映射的结果。
- .Net7默认开启W^E,而.Net6默认关闭。
- Debug.Net7中出现的异常是由于断点设置在内存映射范围内。
- 异常代码c0000005是执行异常,源于W^E环境变量的影响。
- 异常地址是由DoCall函数调用的,涉及到CLR的内存结构链。
- CallDescrData__pTarget的值来源于PreCode地址,导致内存映射范围内的异常。
➡️