在Windows SEH数据中,存在为给定的RUNTIME_FUNCTION
一些伪操作定义的工具,该伪操作描述其对堆栈的影响.它们在以下文档中定义UNWIND_CODE
:http://msdn.microsoft.com/en-us/library/ck9asaa9.aspx
但是,微软只记录了版本1!在Windows附带的一些东西(例如记事本)中,异常处理数据的给定版本是2.它看起来好像它们非常相似(另请参阅http://sourceforge.net/mailarchive/message.php ?msg_id = 31650579),除了有一个神秘且非常常见的操作代码6,它没有在版本1文档中定义.
从我公认的小样本看来,操作信息似乎总是0或1,并且操作似乎只消耗了展开操作数据中的一个插槽.
似乎在ReactOS中,它被认为是指UWOP_SAVE_XMM(参见http://doxygen.reactos.org/d4/d85/rtl_2amd64_2unwind_8c_a552b9ed5f66cb1a0015f7523bfce2eb9.html#a552b9ed5f66cb1a0015f7523bfce2eb9).在这种情况下("版本2"情况),这是不太可能的意思,因为以下插槽包含有效的展开操作而不是合理的内存偏移.
展开操作6是什么意思?
归档时间: |
|
查看次数: |
180 次 |
最近记录: |