来自Win64 exception stack walking not displaying entries的一些更清晰的理解,我希望能够从 Win64 异常表中检索所有条目 - 包括 API 调用 RtlAddFunctionTable 的任何运行时添加。和 RtlInstallFunctionTableCallback .
德尔福可以做到这一点吗?
最佳答案
来自:
RtlVirtualUnwind(UNW_FLAG_NHANDLER,
LImageBase,
LContext.Rip,
LRuntimeFunction,
LContext,
HandlerData,
EstablisherFrame,
NvContext);
HandlerData
指针包含有关异常表的编译器/语言特定信息。如果您反转 System.pas 中的一些详细信息,特别是方法 _DelphiExceptionHandler
和 FindOnExceptionDescEntry
,则可以找出每个条目的用途- 详细信息与 System.pas
中的 TExcScope
记录定义相对应。
关于windows - 检索 Win64 异常表中的所有条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14254193/