#include <assert.h>
#include "ntstatus.h"
#include "dbghelp_private.h"
#include "winternl.h"
#include "wine/debug.h"
Go to the source code of this file.
|
| WINE_DEFAULT_DEBUG_CHANNEL (dbghelp) |
|
static BOOL | x86_64_get_addr (HANDLE hThread, const CONTEXT *ctx, enum cpu_addr ca, ADDRESS64 *addr) |
|
static BOOL | x86_64_stack_walk (struct cpu_stack_walk *csw, STACKFRAME64 *frame, union ctx *ctx) |
|
static void * | x86_64_find_runtime_function (struct module *module, DWORD64 addr) |
|
static unsigned | x86_64_map_dwarf_register (unsigned regno, const struct module *module, BOOL eh_frame) |
|
static void * | x86_64_fetch_context_reg (union ctx *pctx, unsigned regno, unsigned *size) |
|
static const char * | x86_64_fetch_regname (unsigned regno) |
|
static BOOL | x86_64_fetch_minidump_thread (struct dump_context *dc, unsigned index, unsigned flags, const CONTEXT *ctx) |
|
static BOOL | x86_64_fetch_minidump_module (struct dump_context *dc, unsigned index, unsigned flags) |
|
◆ NONAMELESSSTRUCT
◆ NONAMELESSUNION
◆ WIN32_NO_STATUS
◆ PUNWIND_CODE
◆ PUNWIND_INFO
◆ UNWIND_CODE
◆ UNWIND_CODE_OPS
◆ UNWIND_INFO
◆ _UNWIND_OP_CODES
Enumerator |
---|
UWOP_PUSH_NONVOL | |
UWOP_ALLOC_LARGE | |
UWOP_ALLOC_SMALL | |
UWOP_SET_FPREG | |
UWOP_SAVE_NONVOL | |
UWOP_SAVE_NONVOL_FAR | |
UWOP_SAVE_XMM128 | |
UWOP_SAVE_XMM128_FAR | |
UWOP_PUSH_MACHFRAME | |
Definition at line 36 of file cpu_x86_64.c.
37{
enum _UNWIND_OP_CODES UNWIND_CODE_OPS
◆ WINE_DEFAULT_DEBUG_CHANNEL()
WINE_DEFAULT_DEBUG_CHANNEL |
( |
dbghelp |
| ) |
|
◆ x86_64_fetch_context_reg()
Definition at line 781 of file cpu_x86_64.c.
782{
783#ifdef __x86_64__
785
786 switch (regno)
787 {
805
822
831
839
840 }
841#endif
842 FIXME(
"Unknown register %x\n", regno);
844}
◆ x86_64_fetch_minidump_module()
Definition at line 920 of file cpu_x86_64.c.
921{
922
923 if (1)
924 {
925
926#ifdef __x86_64__
931
936 if (rtf)
937 {
940
941 while (rtf + 1 <
end)
942 {
943 while (rtf->UnwindData & 1)
944 {
945 FIXME(
"RunTime_Function outside IMAGE_DIRECTORY_ENTRY_EXCEPTION unimplemented yet!\n");
947
948
949 }
953 rtf++;
954 }
955 }
956#endif
957 }
958
960}
const char * pe_map_directory(struct module *module, int dirno, DWORD *size) DECLSPEC_HIDDEN
static BOOL read_process_memory(const struct process *process, UINT64 addr, void *buf, size_t size)
void minidump_add_memory_block(struct dump_context *dc, ULONG64 base, ULONG size, ULONG rva) DECLSPEC_HIDDEN
struct module * module_find_by_addr(const struct process *pcs, DWORD64 addr, enum module_type type) DECLSPEC_HIDDEN
struct process * process_find_by_handle(HANDLE hProcess)
#define IMAGE_DIRECTORY_ENTRY_EXCEPTION
IMAGEHLP_MODULEW64 module
#define FIELD_OFFSET(t, f)
◆ x86_64_fetch_minidump_thread()
Definition at line 906 of file cpu_x86_64.c.
907{
909 {
910
911#ifdef __x86_64__
914#endif
915 }
916
918}
@ ThreadWriteInstructionWindow
◆ x86_64_fetch_regname()
Definition at line 846 of file cpu_x86_64.c.
847{
848 switch (regno)
849 {
867
884
893
901 }
902 FIXME(
"Unknown register %x\n", regno);
904}
◆ x86_64_find_runtime_function()
Definition at line 697 of file cpu_x86_64.c.
698{
699#ifdef __x86_64__
703
706 {
708 if (addr < module->
module.BaseOfImage + rtf[
pos].BeginAddress)
max =
pos - 1;
710 else
711 {
713 while (rtf->UnwindData & 1)
714 {
715 FIXME(
"RunTime_Function outside IMAGE_DIRECTORY_ENTRY_EXCEPTION unimplemented yet!\n");
717
718
719 }
720 return rtf;
721 }
722 }
723#endif
725}
GLenum const GLvoid * addr
◆ x86_64_get_addr()
Definition at line 79 of file cpu_x86_64.c.
81{
84 {
85#ifdef __x86_64__
89#endif
90 default:
addr->Mode = -1;
92 }
93}
◆ x86_64_map_dwarf_register()
Definition at line 727 of file cpu_x86_64.c.
728{
730
731 if (regno >= 17 && regno <= 24)
733 else if (regno >= 25 && regno <= 32)
735 else if (regno >= 33 && regno <= 40)
737 else switch (regno)
738 {
768
769
770
771
772
773
774 default:
775 FIXME(
"Don't know how to map register %d\n", regno);
776 return 0;
777 }
779}
◆ x86_64_stack_walk()
◆ cpu_x86_64
Initial value:= {
8,
}
static BOOL x86_64_stack_walk(struct cpu_stack_walk *csw, STACKFRAME64 *frame, union ctx *ctx)
static BOOL x86_64_fetch_minidump_module(struct dump_context *dc, unsigned index, unsigned flags)
static BOOL x86_64_get_addr(HANDLE hThread, const CONTEXT *ctx, enum cpu_addr ca, ADDRESS64 *addr)
static void * x86_64_find_runtime_function(struct module *module, DWORD64 addr)
static const char * x86_64_fetch_regname(unsigned regno)
static BOOL x86_64_fetch_minidump_thread(struct dump_context *dc, unsigned index, unsigned flags, const CONTEXT *ctx)
static void * x86_64_fetch_context_reg(union ctx *pctx, unsigned regno, unsigned *size)
static unsigned x86_64_map_dwarf_register(unsigned regno, const struct module *module, BOOL eh_frame)
#define IMAGE_FILE_MACHINE_AMD64
Definition at line 962 of file cpu_x86_64.c.