winedbg: Push the correct machine type to StackWalk.

oldstable
Eric Pouech 2009-12-22 14:20:16 +01:00 committed by Alexandre Julliard
parent b615656f00
commit a775d41c10
6 changed files with 6 additions and 1 deletions

View File

@ -151,6 +151,7 @@ static int be_alpha_fetch_float(const struct dbg_lvalue* lvalue, unsigned size,
struct backend_cpu be_alpha =
{
IMAGE_FILE_MACHINE_ALPHA,
be_cpu_linearize,
be_cpu_build_addr,
be_alpha_get_addr,

View File

@ -23,6 +23,7 @@ enum be_xpoint_type {be_xpoint_break, be_xpoint_watch_exec, be_xpoint_watch_read
be_xpoint_watch_write};
struct backend_cpu
{
DWORD machine;
/* ------------------------------------------------------------------------------
* address manipulation
* ------------------------------------------------------------------------------ */

View File

@ -746,6 +746,7 @@ static int be_i386_fetch_float(const struct dbg_lvalue* lvalue, unsigned size,
struct backend_cpu be_i386 =
{
IMAGE_FILE_MACHINE_I386,
be_i386_linearize,
be_i386_build_addr,
be_i386_get_addr,

View File

@ -175,6 +175,7 @@ static int be_ppc_fetch_float(const struct dbg_lvalue* lvalue, unsigned size,
struct backend_cpu be_ppc =
{
IMAGE_FILE_MACHINE_POWERPC,
be_cpu_linearize,
be_cpu_build_addr,
be_ppc_get_addr,

View File

@ -376,6 +376,7 @@ static int be_x86_64_fetch_float(const struct dbg_lvalue* lvalue, unsigned size,
struct backend_cpu be_x86_64 =
{
IMAGE_FILE_MACHINE_AMD64,
be_cpu_linearize,
be_cpu_build_addr,
be_x86_64_get_addr,

View File

@ -186,7 +186,7 @@ unsigned stack_fetch_frames(void)
sf.AddrFrame.Mode = AddrModeFlat;
}
while (StackWalk64(IMAGE_FILE_MACHINE_I386, dbg_curr_process->handle,
while (StackWalk64(be_cpu->machine, dbg_curr_process->handle,
dbg_curr_thread->handle, &sf, &ctx, stack_read_mem,
SymFunctionTableAccess64, SymGetModuleBase64, NULL))
{