
Sun Jan 19 11:46:48 1997 Alexandre Julliard <julliard@lrc.epfl.ch> * [loader/module.c] Fixed LoadModule() to always call the DLL initialization code. * [windows/event.c] Moved all the keyboard stuff to windows/keyboard.c * [tools/build.c] Fixed Win32 register functions. Sat Jan 18 22:24:41 1997 David Makepeace <D.Makepeace@mailbox.uq.oz.au> * [tools/makedep.c] Fixed bug which causes SEGV on Solaris x86. Fri Jan 17 18:32:27 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl> * [controls/edit.c] Implemented WM_UNDO, WM_CONTEXTMENU (temporary using WM_RBUTTONUP), WM_COMMAND, WM_INITPOPUPMENU, WM_SYSKEYDOWN. Fixed EM_SETSEL and some minor bugs (features). Hence: fully functional undo and a win95 menu with the right mouse button. * [include/resources.h] [resources/TODO] [resources/sysres_??.rc] Added a context menu for the edit control. Translations, please ... Fri Jan 17 08:29:52 1997 David Faure <david.faure@ifhamy.insa-lyon.fr> * [windows/event.c] Move EVENT_ToAscii to windows/keyboard.c (where name ToAscii) Fixed Keypad keys 0-9 and . in EVENT_event_to_vkey. Added 3-state handling of toggle keys (CapsLock, NumLock) in order to make them work with any X server. Toggle keys now generate WM_KEYDOWN and WM_KEYUP on each pressing. * [include/keyboard.h] Totally replaced the file (formerly containing the vkcase definitions) by the declaration of 'extern' variables contained by event.c and used by keyboard.c * [windows/keyboard.c] Started to rewrite VkKeyScan and MapVirtualKey, to make them use the table keyc2vkey or X functions only. ToAscii : added keypad 0-9 and . special case. Changed toggle keys active mask from 0x80 to 0x1. * [misc/keyboard.c] File deleted. Contents moved to windows/keyboard.c. * [misc/main.c] Added putenv XKB_DISABLE to disable XKB extension (which, when present, causes AltGr to change keyboard group instead of being a modifier). Tue Jan 14 22:56:43 1997 Philippe De Muyter <phdm@info.ucl.ac.be> * [windows/event.c] Do not assume NumLockMask is Mod2Mask, but compute it by scanning output of XGetModifierMapping for XK_Num_Lock. Tue Jan 14 15:49:49 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [loader/pe_*.c] [include/peexe.h] [include/resource32.h] [debugger/*.c] General clean up. Changed defines/structures to match Windows NT SDK. * [loader/main.c] Don't crash on empty command-line. * [windows/winpos.c] winpos.c made win32 clean. * [misc/ntdll.c] Some string conversion additions. * [files/file.c] GetFileAttributes/GetTempFileName fixed. * [misc/ver.c] VerInstallFile implemented. Mon Jan 13 15:03:11 1997 Philippe De Muyter <phdm@info.ucl.ac.be> * [tools/build.c]: Use PREFIX also in stabs messages. Mon Jan 13 10:40:33 1997 John Harvey <john@division.co.uk> * [graphics/win16drv/*] [include/win16drv.h] Many fixes and some new features. * [graphics/x11drv/font.c] [graphics/x11drv/init.c] [include/x11drv.h] [objects/font.c] GetTextMetrics() moved to graphics driver. * [if1632/gdi.spec] [misc/fontengine.c] [misc/Makefile.in] New dummy EngineEnumerateFont, EngineRealizeFont functions. * [include/windows.h] TEXTFORM16 and FONTINFO16 structure definitions moved here from include/win16drv.h
234 lines
3.4 KiB
C
234 lines
3.4 KiB
C
/*
|
|
* File dbgmain.c - main wrapper for internal debugger test bed.
|
|
*
|
|
* Copyright (C) 1997, Eric Youngdale.
|
|
*/
|
|
#include <signal.h>
|
|
|
|
#include <ldt.h>
|
|
#include "windows.h"
|
|
#include "toolhelp.h"
|
|
#include "module.h"
|
|
#include "debugger.h"
|
|
#include "class.h"
|
|
#include <X11/Xlib.h>
|
|
|
|
#include "debugger.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
|
|
XUngrabPointer( Display * d, Time t)
|
|
{
|
|
return(0);
|
|
}
|
|
|
|
int
|
|
XUngrabServer( Display * d )
|
|
{
|
|
return(0);
|
|
}
|
|
|
|
int
|
|
XFlush(Display * d )
|
|
{
|
|
return(0);
|
|
}
|
|
|
|
HTASK16 GetCurrentTask()
|
|
{
|
|
exit(0);
|
|
}
|
|
|
|
HMODULE16 GetExePtr(HANDLE16 h)
|
|
{
|
|
exit(0);
|
|
}
|
|
|
|
LPSTR MODULE_GetModuleName( HMODULE16 hModule )
|
|
{
|
|
exit(0);
|
|
}
|
|
|
|
int PROFILE_GetWineIniString( const char *section, const char *key_name,
|
|
const char *def, char *buffer, int len )
|
|
{
|
|
exit(0);
|
|
}
|
|
|
|
|
|
void CLASS_DumpClass( CLASS *class )
|
|
{
|
|
exit(0);
|
|
}
|
|
|
|
void MODULE_DumpModule( HMODULE16 hmodule )
|
|
{
|
|
exit(0);
|
|
}
|
|
|
|
void QUEUE_DumpQueue( HQUEUE16 hQueue )
|
|
{
|
|
exit(0);
|
|
}
|
|
|
|
void WIN_DumpWindow( HWND32 hwnd )
|
|
{
|
|
exit(0);
|
|
}
|
|
|
|
|
|
void CLASS_WalkClasses()
|
|
{
|
|
exit(0);
|
|
}
|
|
|
|
void MODULE_WalkModules()
|
|
{
|
|
exit(0);
|
|
}
|
|
|
|
void QUEUE_WalkQueues()
|
|
{
|
|
exit(0);
|
|
}
|
|
|
|
void WIN_WalkWindows( HWND32 hwnd, int indent )
|
|
{
|
|
exit(0);
|
|
}
|
|
|
|
NE_MODULE *MODULE_GetPtr( HMODULE16 hModule )
|
|
{
|
|
exit(0);
|
|
}
|
|
|
|
FARPROC16 MODULE_GetEntryPoint( HMODULE16 hModule, WORD ordinal )
|
|
{
|
|
exit(0);
|
|
}
|
|
|
|
void LDT_Print( int start, int length )
|
|
{
|
|
exit(0);
|
|
}
|
|
|
|
LPVOID GlobalLock16(HGLOBAL16 h)
|
|
{
|
|
exit(0);
|
|
}
|
|
|
|
BOOL16 ModuleFirst(MODULEENTRY *lpModule)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
BOOL16 ModuleNext(MODULEENTRY *lpModule)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
BOOL16 IsBadReadPtr16(SEGPTR s,UINT16 o)
|
|
{
|
|
exit(0);
|
|
}
|
|
|
|
BOOL32 IsBadReadPtr32(LPCVOID s,UINT32 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;
|
|
struct PE_Debug_dir * dbgdir;
|
|
struct pe_data * pe;
|
|
LPIMAGE_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()
|
|
{
|
|
struct deferred_debug_info deefer;
|
|
struct PE_Debug_dir 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[])
|
|
{
|
|
extern char * DEBUG_argv0;
|
|
SIGCONTEXT reg;
|
|
|
|
strcpy(vdv, "This is a test");
|
|
memset(&vvv, 0xff, sizeof(vvv));
|
|
vvv.whatsup = 0;
|
|
vvv.flag3 = 0;
|
|
vvv.remain = 0x401;
|
|
DEBUG_argv0 = argv[0];
|
|
xxx = (unsigned int*) &vvv;
|
|
yyy = xxx + 5;
|
|
xxx3[5] = 7;
|
|
|
|
test_pdbstuff();
|
|
|
|
memset(®, 0, sizeof(reg));
|
|
wine_debug(SIGSEGV, ®);
|
|
return 0;
|
|
}
|