mirror of
https://github.com/Cesarus85/ringfall-mjolnir-vr.git
synced 2026-10-18 18:00:28 +02:00
186 lines
4.5 KiB
C
186 lines
4.5 KiB
C
/*
|
|
STACK_WALK_WINDOWS.C
|
|
|
|
symbols in this file:
|
|
000806A0 0020:
|
|
_stack_walk_global_function_offset (0000)
|
|
000806C0 0010:
|
|
_stack_walk_disregard_symbol_names (0000)
|
|
000806D0 0030:
|
|
_code_000806d0 (0000)
|
|
00080700 0080:
|
|
_free_symbol_table (0000)
|
|
00080780 00b0:
|
|
_symbol_name_from_address (0000)
|
|
00080830 0060:
|
|
_base_address_from_symbol_name (0000)
|
|
00080890 0020:
|
|
_code_00080890 (0000)
|
|
000808B0 0040:
|
|
_code_000808b0 (0000)
|
|
000808F0 0020:
|
|
_code_000808f0 (0000)
|
|
00080910 00d0:
|
|
_code_00080910 (0000)
|
|
000809E0 00d0:
|
|
_code_000809e0 (0000)
|
|
00080AB0 0020:
|
|
_stack_walk_dispose (0000)
|
|
00080AD0 02b0:
|
|
_stack_walk_with_context (0000)
|
|
00080D80 0620:
|
|
_load_symbol_table (0000)
|
|
000813A0 0030:
|
|
_stack_walk_initialize (0000)
|
|
000813D0 0020:
|
|
_stack_walk (0000)
|
|
002586B4 000d:
|
|
??_C@_0N@CNIOPMPL@symbol_table?$AA@ (0000)
|
|
002586C4 002c:
|
|
??_C@_0CM@LOAPPLNB@c?3?2halo?2SOURCE?2cseries?2stack_wal@ (0000)
|
|
002586F0 0010:
|
|
??_C@_0BA@OFOBHDCE@?$CFs?5?$CL?5?$CF04lX?5?3?5?$CFs?$AA@ (0000)
|
|
00258700 000a:
|
|
??_C@_09JLKGDFIH@?$CF08lX?5?$CFs?6?$AA@ (0000)
|
|
0025870C 0029:
|
|
??_C@_0CJ@POGHEDC@EIP?3?50x?$CF08lX?0?5?$CF02lX?5?$CF02lX?5?$CF02lX?5@ (0000)
|
|
00258738 000d:
|
|
??_C@_0N@DEGIIKCL@ESP?3?50x?$CF08lX?$AA@ (0000)
|
|
00258748 000d:
|
|
??_C@_0N@KDNFCLLI@EBP?3?50x?$CF08lX?$AA@ (0000)
|
|
00258758 000d:
|
|
??_C@_0N@OBNDHAGF@ESI?3?50x?$CF08lX?$AA@ (0000)
|
|
00258768 000d:
|
|
??_C@_0N@JJFDHEBG@EDI?3?50x?$CF08lX?$AA@ (0000)
|
|
00258778 000d:
|
|
??_C@_0N@PGCLGPBN@EDX?3?50x?$CF08lX?$AA@ (0000)
|
|
00258788 000d:
|
|
??_C@_0N@ICLDIGJC@ECX?3?50x?$CF08lX?$AA@ (0000)
|
|
00258798 000d:
|
|
??_C@_0N@BJBGMKPN@EBX?3?50x?$CF08lX?$AA@ (0000)
|
|
002587A8 000d:
|
|
??_C@_0N@GOIIBIAN@EAX?3?50x?$CF08lX?$AA@ (0000)
|
|
002587B8 0009:
|
|
??_C@_08CCCCNONO@?$CF08lX?5?$CFs?$AA@ (0000)
|
|
002587C4 0006:
|
|
??_C@_05EHMBKEBF@?$DP?$DP?$DP?$DP?$DP?$AA@ (0000)
|
|
002587CC 0025:
|
|
??_C@_0CF@JNHFBDOE@Printing?5stuff?5for?5Mat?8s?5edifica@ (0000)
|
|
002587F4 002e:
|
|
??_C@_0CO@DKHIBCJD@could?5not?5allocate?5enough?5memory@ (0000)
|
|
00258828 0051:
|
|
??_C@_0FB@FDLBMJMP@string_storage_used?5?$CL?5strlen?$CIlib@ (0000)
|
|
00258880 0044:
|
|
??_C@_0EE@HFHPDHDJ@string_storage_used?5?$CL?5strlen?$CIsym@ (0000)
|
|
002588C8 006b:
|
|
??_C@_0GL@HCCMEKIO@string_storage_used?5?$CL?5strlen?$CIsym@ (0000)
|
|
00258934 0013:
|
|
??_C@_0BD@IFIGKEIG@_load_symbol_table?$AA@ (0000)
|
|
00258948 000f:
|
|
??_C@_0P@JLHKGDG@Static?5symbols?$AA@ (0000)
|
|
00258958 000f:
|
|
??_C@_0P@BNEDFJAM@entry?5point?5at?$AA@ (0000)
|
|
00258968 0005:
|
|
??_C@_04DNCNJDPH@?5?7?6?$AN?$AA@ (0000)
|
|
00258970 0002:
|
|
??_C@_01JLIPDDHJ@?3?$AA@ (0000)
|
|
00258974 0008:
|
|
??_C@_07DFGIHOIL@nothing?$AA@ (0000)
|
|
0025897C 0019:
|
|
??_C@_0BJ@BLEJAHCK@map?5file?5appears?5corrupt?$AA@ (0000)
|
|
00258998 000a:
|
|
??_C@_09KDGENIOP@Timestamp?$AA@ (0000)
|
|
002589A4 000b:
|
|
??_C@_0L@CKIHAGIB@Lib?3Object?$AA@ (0000)
|
|
002589B0 001c:
|
|
??_C@_0BM@LBIFOOIP@Couldn?8t?5read?5map?5file?5?8?$CFs?8?$AA@ (0000)
|
|
002589CC 0011:
|
|
??_C@_0BB@LJHACKGC@d?3?2cachebeta?4map?$AA@ (0000)
|
|
002589E0 0019:
|
|
??_C@_0BJ@NNIPHMJN@Mon?5Dec?517?512?349?336?52001?$AA@ (0000)
|
|
002DCD40 0014:
|
|
_stack_walk_globals (0000)
|
|
00431C98 4008:
|
|
_bss_00431c98 (0000)
|
|
*/
|
|
|
|
/* ---------- headers */
|
|
|
|
#include "cseries.h"
|
|
|
|
/* ---------- constants */
|
|
|
|
/* ---------- macros */
|
|
|
|
/* ---------- structures */
|
|
|
|
struct debug_symbol_table
|
|
{
|
|
long number_of_symbols;
|
|
char *string_storage;
|
|
struct debug_symbol *symbols;
|
|
};
|
|
|
|
struct debug_symbol
|
|
{
|
|
unsigned long address;
|
|
unsigned long rva_base;
|
|
unsigned long name_string_offset;
|
|
unsigned long library_object_string_offset;
|
|
};
|
|
|
|
struct _stack_walk_globals
|
|
{
|
|
long fixup;
|
|
boolean disregard_symbol_names;
|
|
struct debug_symbol_table symbol_table;
|
|
};
|
|
|
|
/* ---------- prototypes */
|
|
|
|
/* ---------- globals */
|
|
|
|
struct _stack_walk_globals stack_walk_globals =
|
|
{
|
|
NONE,
|
|
FALSE
|
|
};
|
|
|
|
/* ---------- public code */
|
|
|
|
void stack_walk_disregard_symbol_names(
|
|
boolean disregard)
|
|
{
|
|
stack_walk_globals.disregard_symbol_names = disregard;
|
|
}
|
|
|
|
void free_symbol_table(
|
|
struct debug_symbol_table *symbol_table)
|
|
{
|
|
match_assert("c:\\halo\\SOURCE\\cseries\\stack_walk_windows.c", 549, symbol_table);
|
|
|
|
if (symbol_table->string_storage)
|
|
{
|
|
debug_free(symbol_table->string_storage, "c:\\halo\\SOURCE\\cseries\\stack_walk_windows.c", 551);
|
|
}
|
|
|
|
if (symbol_table->symbols)
|
|
{
|
|
debug_free(symbol_table->symbols, "c:\\halo\\SOURCE\\cseries\\stack_walk_windows.c", 552);
|
|
}
|
|
|
|
symbol_table->number_of_symbols = 0;
|
|
symbol_table->string_storage = NULL;
|
|
symbol_table->symbols = NULL;
|
|
}
|
|
|
|
void stack_walk_dispose(
|
|
void)
|
|
{
|
|
stack_walk_globals.fixup = NONE;
|
|
stack_walk_globals.disregard_symbol_names = FALSE;
|
|
free_symbol_table(&stack_walk_globals.symbol_table);
|
|
}
|
|
|
|
/* ---------- private code */
|