55 FIXME(
"Unsupported (yet) mode (%x)\n",
addr->Mode);
58 FIXME(
"Failed to linearize address %04x:%s (mode %x)\n",
68 if (nread) *nread =
r;
77 if (nread) *nread =
r;
114 else if (csw->
u.
s64.f_xlat_adr)
150 TRACE(
"(%d, %p, %p, %p, %p, %p, %p, %p, %p)\n",
152 f_read_mem, FunctionTableAccessRoutine,
153 GetModuleBaseRoutine, f_xlat_adr);
167 frame64.Far = frame32->
Far;
168 frame64.Virtual = frame32->
Virtual;
169 frame64.Reserved[0] = frame32->
Reserved[0];
170 frame64.Reserved[1] = frame32->
Reserved[1];
171 frame64.Reserved[2] = frame32->
Reserved[2];
179 csw.
u.
s32.f_read_mem = (f_read_mem) ? f_read_mem :
read_mem;
180 csw.
u.
s32.f_xlat_adr = f_xlat_adr;
192 frame32->
Params[0] = frame64.Params[0];
193 frame32->
Params[1] = frame64.Params[1];
194 frame32->
Params[2] = frame64.Params[2];
195 frame32->
Params[3] = frame64.Params[3];
196 frame32->
Far = frame64.Far;
197 frame32->
Virtual = frame64.Virtual;
198 frame32->
Reserved[0] = frame64.Reserved[0];
199 frame32->
Reserved[1] = frame64.Reserved[1];
200 frame32->
Reserved[2] = frame64.Reserved[2];
220 TRACE(
"(%d, %p, %p, %p, %p, %p, %p, %p, %p)\n",
222 f_read_mem, FunctionTableAccessRoutine,
223 GetModuleBaseRoutine, f_xlat_adr);
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
void user(int argc, const char *argv[])
PVOID(CALLBACK * PSYMBOL_FUNCENTRY_CALLBACK64)(_In_ HANDLE, _In_ ULONG64, _In_ ULONG64)
PVOID(CALLBACK * PSYMBOL_FUNCENTRY_CALLBACK)(_In_ HANDLE, _In_ DWORD, _In_opt_ PVOID)
BOOL(CALLBACK * PREAD_PROCESS_MEMORY_ROUTINE64)(HANDLE, DWORD64, PVOID, DWORD, PDWORD)
BOOL(CALLBACK * PREAD_PROCESS_MEMORY_ROUTINE)(HANDLE, DWORD, PVOID, DWORD, PDWORD)
#define ReadProcessMemory(a, b, c, d, e)
#define ERROR_CALL_NOT_IMPLEMENTED
#define ERROR_INVALID_PARAMETER
PVOID WINAPI SymFunctionTableAccess64(HANDLE, DWORD64)
PVOID WINAPI SymFunctionTableAccess(HANDLE, DWORD)
DWORD(CALLBACK * PGET_MODULE_BASE_ROUTINE)(HANDLE, DWORD)
PVOID(CALLBACK * PFUNCTION_TABLE_ACCESS_ROUTINE64)(HANDLE, DWORD64)
DWORD64 WINAPI SymGetModuleBase64(HANDLE, DWORD64)
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
DWORD(CALLBACK * PTRANSLATE_ADDRESS_ROUTINE)(HANDLE, HANDLE, LPADDRESS)
DWORD64(CALLBACK * PTRANSLATE_ADDRESS_ROUTINE64)(HANDLE, HANDLE, LPADDRESS64)
PVOID(CALLBACK * PFUNCTION_TABLE_ACCESS_ROUTINE)(HANDLE, DWORD)
DWORD64(CALLBACK * PGET_MODULE_BASE_ROUTINE64)(HANDLE, DWORD64)
struct cpu * cpu_find(DWORD machine)
DWORD WINAPI SymGetModuleBase(HANDLE hProcess, DWORD dwAddr)
void * sw_table_access(struct cpu_stack_walk *csw, DWORD64 addr)
DWORD64 sw_module_base(struct cpu_stack_walk *csw, DWORD64 addr)
static void addr_32to64(const ADDRESS *addr32, ADDRESS64 *addr64)
static BOOL CALLBACK read_mem(HANDLE hProcess, DWORD addr, void *buffer, DWORD size, LPDWORD nread)
BOOL WINAPI SymRegisterFunctionEntryCallback(HANDLE hProc, PSYMBOL_FUNCENTRY_CALLBACK cb, PVOID user)
BOOL WINAPI StackWalk64(DWORD MachineType, HANDLE hProcess, HANDLE hThread, LPSTACKFRAME64 frame, PVOID ctx, PREAD_PROCESS_MEMORY_ROUTINE64 f_read_mem, PFUNCTION_TABLE_ACCESS_ROUTINE64 FunctionTableAccessRoutine, PGET_MODULE_BASE_ROUTINE64 GetModuleBaseRoutine, PTRANSLATE_ADDRESS_ROUTINE64 f_xlat_adr)
BOOL WINAPI SymRegisterFunctionEntryCallback64(HANDLE hProc, PSYMBOL_FUNCENTRY_CALLBACK64 cb, ULONG64 user)
BOOL sw_read_mem(struct cpu_stack_walk *csw, DWORD64 addr, void *ptr, DWORD sz)
BOOL WINAPI StackWalk(DWORD MachineType, HANDLE hProcess, HANDLE hThread, LPSTACKFRAME frame32, PVOID ctx, PREAD_PROCESS_MEMORY_ROUTINE f_read_mem, PFUNCTION_TABLE_ACCESS_ROUTINE FunctionTableAccessRoutine, PGET_MODULE_BASE_ROUTINE GetModuleBaseRoutine, PTRANSLATE_ADDRESS_ROUTINE f_xlat_adr)
DWORD64 sw_xlat_addr(struct cpu_stack_walk *csw, ADDRESS64 *addr)
static void addr_64to32(const ADDRESS64 *addr64, ADDRESS *addr32)
static BOOL CALLBACK read_mem64(HANDLE hProcess, DWORD64 addr, void *buffer, DWORD size, LPDWORD nread)
static DWORD64 WINAPI addr_to_linear(HANDLE hProcess, HANDLE hThread, ADDRESS64 *addr)
BOOL WINAPI GetThreadSelectorEntry(IN HANDLE hThread, IN DWORD dwSelector, OUT LPLDT_ENTRY lpSelectorEntry)
GLdouble GLdouble GLdouble r
GLenum const GLvoid * addr
_In_ BOOL _In_ HANDLE hProcess
static HMODULE MODULEINFO DWORD cb
union _LDT_ENTRY::@356 HighWord
struct _LDT_ENTRY::@356::@358 Bits
struct cpu_stack_walk::@374::@376 s64
union cpu_stack_walk::@374 u
struct cpu_stack_walk::@374::@375 s32
BOOL(* stack_walk)(struct cpu_stack_walk *csw, STACKFRAME64 *frame, union ctx *ctx)