From some clearer understanding from Win64 exception stack walking not displaying entries , I would like to be able retrieve all the entries from the Win64 exception table - including any run-time additions by the API calls RtlAddFunctionTable and RtlInstallFunctionTableCallback .
Is this possible from Delphi?
From:
RtlVirtualUnwind(UNW_FLAG_NHANDLER,
LImageBase,
LContext.Rip,
LRuntimeFunction,
LContext,
HandlerData,
EstablisherFrame,
NvContext);
The HandlerData
pointer contains compiler/language specific information about the exception table. If you reverse some details from System.pas
, in particular the methods _DelphiExceptionHandler
and FindOnExceptionDescEntry
, it is possible to figure out what each entry is for - the details are against the TExcScope
record definition in System.pas
.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.