Eric Pouech : include/dbghelp.h: Update inline-related APIs and structures.
Alexandre Julliard
julliard at winehq.org
Tue Oct 19 16:07:48 CDT 2021
Module: wine
Branch: master
Commit: c1f892914e89fe05d83ee84ccfafc5993ad16385
URL: https://source.winehq.org/git/wine.git/?a=commit;h=c1f892914e89fe05d83ee84ccfafc5993ad16385
Author: Eric Pouech <eric.pouech at gmail.com>
Date: Tue Oct 19 15:51:06 2021 +0200
include/dbghelp.h: Update inline-related APIs and structures.
Signed-off-by: Eric Pouech <eric.pouech at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
include/dbghelp.h | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 51 insertions(+), 2 deletions(-)
diff --git a/include/dbghelp.h b/include/dbghelp.h
index bc8b45fe0df..4dad9cd45e9 100644
--- a/include/dbghelp.h
+++ b/include/dbghelp.h
@@ -1083,6 +1083,8 @@ BOOL WINAPI SymEnumTypes(HANDLE, ULONG64, PSYM_ENUMERATESYMBOLS_CALLBACK, PVOID)
BOOL WINAPI SymEnumTypesW(HANDLE, ULONG64, PSYM_ENUMERATESYMBOLS_CALLBACKW, PVOID);
BOOL WINAPI SymFromAddr(HANDLE, DWORD64, DWORD64*, SYMBOL_INFO*);
BOOL WINAPI SymFromAddrW(HANDLE, DWORD64, DWORD64*, SYMBOL_INFOW*);
+BOOL WINAPI SymFromInlineContext(HANDLE, DWORD64, ULONG, PDWORD64, PSYMBOL_INFO);
+BOOL WINAPI SymFromInlineContextW(HANDLE, DWORD64, ULONG, PDWORD64, PSYMBOL_INFOW);
BOOL WINAPI SymFromToken(HANDLE, DWORD64, DWORD, PSYMBOL_INFO);
BOOL WINAPI SymFromTokenW(HANDLE, DWORD64, DWORD, PSYMBOL_INFOW);
BOOL WINAPI SymFromName(HANDLE, PCSTR, PSYMBOL_INFO);
@@ -1137,6 +1139,8 @@ BOOL WINAPI SymEnumSourceFiles(HANDLE, ULONG64, PCSTR, PSYM_ENUMSOURCEFILES_CALL
BOOL WINAPI SymEnumSourceFilesW(HANDLE, ULONG64, PCWSTR, PSYM_ENUMSOURCEFILES_CALLBACKW, PVOID);
BOOL WINAPI SymGetLineFromAddr64(HANDLE, DWORD64, PDWORD, PIMAGEHLP_LINE64);
BOOL WINAPI SymGetLineFromAddrW64(HANDLE, DWORD64, PDWORD, PIMAGEHLP_LINEW64);
+BOOL WINAPI SymGetLineFromInlineContext(HANDLE, DWORD64, ULONG, DWORD64, PDWORD, PIMAGEHLP_LINE64);
+BOOL WINAPI SymGetLineFromInlineContextW(HANDLE, DWORD64, ULONG, DWORD64, PDWORD, PIMAGEHLP_LINEW64);
BOOL WINAPI SymGetLinePrev64(HANDLE, PIMAGEHLP_LINE64);
BOOL WINAPI SymGetLinePrevW64(HANDLE, PIMAGEHLP_LINEW64);
BOOL WINAPI SymGetLineNext64(HANDLE, PIMAGEHLP_LINE64);
@@ -1244,7 +1248,9 @@ PWSTR WINAPI SymGetHomeDirectoryW(DWORD, PWSTR, size_t);
* Context management *
*************************/
BOOL WINAPI SymSetContext(HANDLE, PIMAGEHLP_STACK_FRAME, PIMAGEHLP_CONTEXT);
-
+BOOL WINAPI SymSetScopeFromIndex(HANDLE, ULONG64, ULONG);
+BOOL WINAPI SymSetScopeFromAddr(HANDLE, ULONG64);
+BOOL WINAPI SymSetScopeFromInlineContext(HANDLE, ULONG64, ULONG);
/*************************
* Stack management *
@@ -1314,6 +1320,28 @@ typedef struct _STACKFRAME64
KDHELP64 KdHelp;
} STACKFRAME64, *LPSTACKFRAME64;
+#define INLINE_FRAME_CONTEXT_INIT 0
+#define INLINE_FRAME_CONTEXT_IGNORE 0xFFFFFFFF
+
+typedef struct _tagSTACKFRAME_EX
+{
+ ADDRESS64 AddrPC;
+ ADDRESS64 AddrReturn;
+ ADDRESS64 AddrFrame;
+ ADDRESS64 AddrStack;
+ ADDRESS64 AddrBStore;
+ PVOID FuncTableEntry;
+ DWORD64 Params[4];
+ BOOL Far;
+ BOOL Virtual;
+ DWORD64 Reserved[3];
+ KDHELP64 KdHelp;
+
+ DWORD StackFrameSize;
+ DWORD InlineFrameContext;
+} STACKFRAME_EX, *LPSTACKFRAME_EX;
+
+
typedef BOOL (CALLBACK *PREAD_PROCESS_MEMORY_ROUTINE64)
(HANDLE, DWORD64, PVOID, DWORD, PDWORD);
typedef PVOID (CALLBACK *PFUNCTION_TABLE_ACCESS_ROUTINE64)(HANDLE, DWORD64);
@@ -1324,12 +1352,33 @@ BOOL WINAPI StackWalk64(DWORD, HANDLE, HANDLE, LPSTACKFRAME64, PVOID,
PFUNCTION_TABLE_ACCESS_ROUTINE64,
PGET_MODULE_BASE_ROUTINE64,
PTRANSLATE_ADDRESS_ROUTINE64);
-
+#define SYM_STKWALK_DEFAULT 0x00000000
+#define SYM_STKWALK_FORCE_FRAMEPTR 0x00000001
+BOOL WINAPI StackWalkEx(DWORD, HANDLE, HANDLE, LPSTACKFRAME_EX, PVOID,
+ PREAD_PROCESS_MEMORY_ROUTINE64,
+ PFUNCTION_TABLE_ACCESS_ROUTINE64,
+ PGET_MODULE_BASE_ROUTINE64,
+ PTRANSLATE_ADDRESS_ROUTINE64,
+ DWORD);
PVOID WINAPI SymFunctionTableAccess64(HANDLE, DWORD64);
typedef PVOID (CALLBACK *PSYMBOL_FUNCENTRY_CALLBACK64)(HANDLE, ULONG64, ULONG64);
BOOL WINAPI SymRegisterFunctionEntryCallback64(HANDLE, PSYMBOL_FUNCENTRY_CALLBACK64, ULONG64);
+BOOL WINAPI SymGetUnwindInfo(HANDLE, DWORD64, PVOID, PULONG);
+
+/* Inline context related APIs */
+DWORD WINAPI SymAddrIncludeInlineTrace(HANDLE, DWORD64);
+
+#define SYM_INLINE_COMP_ERROR 0
+#define SYM_INLINE_COMP_IDENTICAL 1
+#define SYM_INLINE_COMP_STEPIN 2
+#define SYM_INLINE_COMP_STEPOUT 3
+#define SYM_INLINE_COMP_STEPOVER 4
+#define SYM_INLINE_COMP_DIFFERENT 5
+
+DWORD WINAPI SymCompareInlineTrace(HANDLE, DWORD64, DWORD, DWORD64, DWORD64, DWORD64);
+BOOL WINAPI SymQueryInlineTrace(HANDLE, DWORD64, DWORD, DWORD64, DWORD64, LPDWORD, LPDWORD);
/*************************
* Version, global stuff *
More information about the wine-cvs
mailing list