| /* | |
| * File dbgmain.c - main wrapper for internal debugger test bed. | |
| * | |
| * Copyright (C) 1997, Eric Youngdale. | |
| */ | |
| #include <signal.h> | |
| #include <X11/Xlib.h> | |
| #include "config.h" | |
| #include "ldt.h" | |
| #include "windows.h" | |
| #include "toolhelp.h" | |
| #include "module.h" | |
| #include "debugger.h" | |
| #include "win.h" | |
| #include "peexe.h" | |
| #include "pe_image.h" | |
| ldt_copy_entry ldt_copy[LDT_SIZE]; | |
| unsigned char ldt_flags_copy[LDT_SIZE]; | |
| Display * display; | |
| int | |
| XUngrabServer( Display * d ) | |
| { | |
| return(0); | |
| } | |
| int | |
| XFlush(Display * d ) | |
| { | |
| return(0); | |
| } | |
| HTASK16 GetCurrentTask(void) | |
| { | |
| exit(0); | |
| } | |
| HMODULE16 GetExePtr(HANDLE16 h) | |
| { | |
| exit(0); | |
| } | |
| int PROFILE_GetWineIniString( const char *section, const char *key_name, | |
| const char *def, char *buffer, int len ) | |
| { | |
| exit(0); | |
| } | |
| void CLASS_DumpClass( struct tagCLASS *class ) | |
| { | |
| exit(0); | |
| } | |
| void MODULE_DumpModule( HMODULE16 hmodule ) | |
| { | |
| exit(0); | |
| } | |
| void QUEUE_DumpQueue( HQUEUE16 hQueue ) | |
| { | |
| exit(0); | |
| } | |
| void WIN_DumpWindow( HWND hwnd ) | |
| { | |
| exit(0); | |
| } | |
| void CLASS_WalkClasses(void) | |
| { | |
| exit(0); | |
| } | |
| void MODULE_WalkModules(void) | |
| { | |
| exit(0); | |
| } | |
| void QUEUE_WalkQueues(void) | |
| { | |
| exit(0); | |
| } | |
| void WIN_WalkWindows( HWND hwnd, int indent ) | |
| { | |
| exit(0); | |
| } | |
| NE_MODULE *NE_GetPtr( HMODULE16 hModule ) | |
| { | |
| exit(0); | |
| } | |
| FARPROC16 NE_GetEntryPoint( HMODULE16 hModule, WORD ordinal ) | |
| { | |
| exit(0); | |
| } | |
| void LDT_Print( int start, int length ) | |
| { | |
| exit(0); | |
| } | |
| LPVOID GlobalLock16(HGLOBAL16 h) | |
| { | |
| exit(0); | |
| } | |
| BOOL16 ModuleFirst16(MODULEENTRY *lpModule) | |
| { | |
| return 0; | |
| } | |
| BOOL16 ModuleNext16(MODULEENTRY *lpModule) | |
| { | |
| return 0; | |
| } | |
| BOOL16 IsBadReadPtr16(SEGPTR s,UINT16 o) | |
| { | |
| exit(0); | |
| } | |
| BOOL IsBadReadPtr(LPCVOID s,UINT o) | |
| { | |
| exit(0); | |
| } | |
| struct qwert | |
| { | |
| unsigned flag1:1; | |
| unsigned flag3:3; | |
| signed remain:11; | |
| unsigned whatsup:17; | |
| } vvv; | |
| int xyzzy(const char * qwe, int ijk) | |
| { | |
| return strlen(qwe) + ijk; | |
| } | |
| unsigned int * xxx; | |
| unsigned int * yyy; | |
| int xxx3[10]; | |
| char vdv[100]; | |
| struct deferred_debug_info | |
| { | |
| struct deferred_debug_info * next; | |
| char * load_addr; | |
| char * module_name; | |
| char * dbg_info; | |
| int dbg_size; | |
| PIMAGE_DEBUG_DIRECTORY dbgdir; | |
| struct pe_data * pe; | |
| PIMAGE_SECTION_HEADER sectp; | |
| int nsect; | |
| short int dbg_index; | |
| char loaded; | |
| }; | |
| struct CodeViewDebug | |
| { | |
| char cv_nbtype[8]; | |
| unsigned int cv_timestamp; | |
| char cv_unknown[4]; | |
| char cv_name[1]; | |
| }; | |
| test_pdbstuff(void) | |
| { | |
| struct deferred_debug_info deefer; | |
| IMAGE_DEBUG_DIRECTORY dinfo; | |
| struct CodeViewDebug cdebug; | |
| IMAGE_SECTION_HEADER sects[10]; | |
| memset(&deefer, 0, sizeof(deefer)); | |
| memset(&dinfo, 0, sizeof(dinfo)); | |
| memset(&cdebug, 0, sizeof(cdebug)); | |
| memset(§s, 0, sizeof(sects)); | |
| deefer.dbg_info = (char *) &cdebug; | |
| dinfo.TimeStamp = 812932395; | |
| cdebug.cv_timestamp = 833392137 /* 841951397 */; | |
| deefer.dbgdir = &dinfo; | |
| deefer.sectp = sects; | |
| deefer.nsect = 10; | |
| DEBUG_InitTypes(); | |
| DEBUG_ProcessPDBFile(&deefer, "../dumpexe.pdb"); | |
| } | |
| int | |
| main(int argc, char * argv[]) | |
| { | |
| SIGCONTEXT reg; | |
| strcpy(vdv, "This is a test"); | |
| memset(&vvv, 0xff, sizeof(vvv)); | |
| vvv.whatsup = 0; | |
| vvv.flag3 = 0; | |
| vvv.remain = 0x401; | |
| argv0 = argv[0]; | |
| xxx = (unsigned int*) &vvv; | |
| yyy = xxx + 5; | |
| xxx3[5] = 7; | |
| test_pdbstuff(); | |
| memset(®, 0, sizeof(reg)); | |
| wine_debug(SIGSEGV, ®); | |
| return 0; | |
| } |