Commit Graph

359 Commits

Author SHA1 Message Date
Dmitry Timoshkov af1df43df8 Skip directories when loading debug symbols. 2000-11-15 23:04:41 +00:00
Eric Pouech e939206f90 Improved internal module handling (module now have a size, map of
loaded module is clearer, better error reporting, seperated module
loading code from symbol extraction).
2000-11-15 22:16:26 +00:00
Eric Pouech 5394ab83c4 Make use of Windows structure for COFF info.
Fixed a few issues in COFF loading.
Cleaned up the code.
2000-11-12 03:40:55 +00:00
Alexandre Julliard 231cc27c80 Added some missing imports. 2000-11-09 20:41:13 +00:00
Ulrich Weigand 6011e98e05 - Take OMAP records into account to correct symbol addresses.
- Understand CodeView data embedded in the PE file itself.
- Understand NB11 signature CodeView data.
- No more bogus 'timestamp mismatch' errors.
- General cleanup / removal of duplicate code.
2000-11-07 20:29:20 +00:00
Alexandre Julliard d19ad3962e Better error message when an include file is not found by makedep.
Added support for .mc extension.
Do not try to open *.tab.h and *.mc.rc include files.
2000-11-06 05:32:59 +00:00
Alexandre Julliard 1a3f705fc1 Added import of ntdll. 2000-10-31 00:22:41 +00:00
Uwe Bonnes 4efd28ce1a DEBUG_ProcessDBGFile: use a stack variable for the extra_info. 2000-10-29 18:08:42 +00:00
Juergen Schmied 7493eada13 - enable loading of pdb files named in NB10 records of a dbg file
- disable timestamp check for pdb files
2000-10-29 18:03:41 +00:00
Uwe Bonnes d207d270b6 DEBUG_ProcessDBGFile: allocate MSC_DBG_INFO before writing to members
of that structure.
2000-10-29 01:18:33 +00:00
Alexandre Julliard 634824be58 Raise an exception when a stub entry point is called. 2000-10-26 22:03:34 +00:00
Kristoffer Gleditsch d2e2bb240a Added LDFLAGS to linking of wine-related binaries. 2000-10-25 21:36:54 +00:00
Eric Pouech 0595b1f24c Added advapi32 to imported DLLs list. 2000-10-22 23:51:08 +00:00
Ulrich Weigand 9039421b04 PDB symbol header format depends only on version code. 2000-10-22 23:48:06 +00:00
Eric Pouech 4304aee898 Fixed floating point data printing and made basic types reading more
robust.
2000-10-22 23:45:04 +00:00
Juergen Schmied cc5365836a Fixed loading of symbols from libraries. 2000-10-12 20:45:26 +00:00
Alexandre Julliard df12a0d654 Fixed backtrace for apps that never called down to 16-bit code. 2000-10-02 22:17:07 +00:00
Gerald Pfeifer bd529026e1 Added missing cast. 2000-09-29 00:23:26 +00:00
Alexandre Julliard d8fab2e67c Removed some of the XXX_reg macros now that we are using the standard
CONTEXT86 structure everywhere.
2000-09-25 23:53:07 +00:00
Alexandre Julliard 954a413c47 Improved support for vm86 mode. 2000-09-24 03:15:50 +00:00
Alexandre Julliard 9edc7d0529 Misc cleanups. 2000-09-18 02:15:25 +00:00
Andreas Mohr 20cd9356a8 - fixes debugger output
- get rid of wrong comments
- fix comments
- .spec spelling fix
- improve warning message
2000-09-12 23:40:40 +00:00
Uwe Bonnes 7f0b104953 Use tpXXX instead of tbXXX in tagTHREADENTRY32. 2000-09-12 23:36:18 +00:00
Gerald Pfeifer acc81bab87 Added two missing casts. 2000-09-02 23:17:21 +00:00
James Abbatiello ebef9a9519 Fix for debugger disassembly being off by one byte after using nexti
on a "call" instruction.
2000-09-01 01:22:05 +00:00
Alexandre Julliard 7bbba4f9ce Removed calls to ConvertToGlobalHandle and MakeCriticalSectionGlobal. 2000-08-26 21:18:36 +00:00
Dmitry Timoshkov 7d64d7d1d7 Do not crash if path is NULL in DEBUG_ProcessElfFileFromPath. 2000-08-18 23:43:09 +00:00
Eric Pouech 9454801cd9 Enhanced ELF files lookup for symbolic info. 2000-08-15 12:00:52 +00:00
Eric Pouech 7c7e3ba5b2 Fixed regression in break command. 2000-08-15 12:00:33 +00:00
Alexandre Julliard a007f3364a Moved a few non-standard headers into their respective dlls. 2000-08-09 00:54:58 +00:00
Alexandre Julliard 081ee94117 - Fixed resource functions to work directly from the HMODULE instead of
requiring a modref.
- Attempted to get LOAD_LIBRARY_AS_DATAFILE right (based on patches by
  Eric Pouech and Dusan Lacko).
- Simplified modref structure and handling.
2000-08-07 04:12:41 +00:00
Patrik Stridvall b4c7499883 Fixed some warnings. 2000-08-04 21:08:01 +00:00
Hidenori Takeshima 269b409712 Added a few missing imports. 2000-08-04 21:07:23 +00:00
Alexandre Julliard 74cc65a940 Added a few missing imports. 2000-08-04 04:12:08 +00:00
Ove Kaaven 2ce9ad8604 Tidyed up stack backtrace code a bit, and added a simple special
case for backtracing from a null EIP.
2000-07-31 23:27:20 +00:00
Alexandre Julliard 6b141176be Moved toolhelp implementation into kernel32 dll. 2000-07-31 21:01:05 +00:00
Alexandre Julliard 58d5a0a786 Removed some unnecessary inclusions of wingdi.h and winuser.h 2000-07-29 21:58:17 +00:00
Eric Pouech 71189b5224 fixed a number of long standing bugs:
- segmented expressions didn't display correctly
    - using dynamic size array for nested types parsing
    - correct display of source code after a crash
factorized some code
2000-07-25 12:51:56 +00:00
Ove Kaaven f96df31096 Comment out a nonfunctional DOS part of debugger. 2000-07-23 13:33:18 +00:00
Ian Schmidt 4474b6ea06 Added Pentium Pro/2/3/4 conditional move instructions. 2000-07-15 14:57:13 +00:00
Eric Pouech c8924d3e59 Removed extraneous trace message. 2000-07-10 13:05:59 +00:00
Eric Pouech f516be6736 Unconditionnally print messages on DLL load breakpoint. 2000-07-10 13:05:44 +00:00
Andreas Mohr 522a9a90b9 Fixed winedbg watchpoints. 2000-07-10 13:05:17 +00:00
Peter Hunnisett 856aefa240 - Explicit init of rtn.cookie in DEBUG_EvalExpr to bad value to
expose further bad code
- Print of pointer used as array now works
2000-07-08 12:45:44 +00:00
Eric Pouech 5b471bae6e Added BreakOnDllLoad internal var, cleaned up register validation on
exception.
2000-06-25 12:49:13 +00:00
Eric Pouech 7c43b22cb8 Don't block endlessly after last debugged process has exited. 2000-06-24 12:52:13 +00:00
Eric Pouech 911436bfeb - cleaned-up break handling
- better integration of debugger inner loops (parser & events)
- added attach command
- improved parser so that it can be entered without any process loaded
- added BreakOnFirstChance internal variable
- disabled NE module symbol module (which is broken with ASS)
- misc portability cleanups
2000-06-18 19:30:24 +00:00
Alexandre Julliard 2f158c2678 Removed @PROGEXT@ (it was broken anyway).
Improved 'make install'.
Cleaned up the main Makefile.
2000-06-14 21:45:38 +00:00
Alexandre Julliard 291fa66f9d Removed the .xcnlnk section hack, and replaced it by another hack in
the debugger CREATE_PROCESS event handling.
2000-06-08 05:02:19 +00:00
Alexandre Julliard 01e819ad9f Simplified wrc flags handling. 2000-06-08 04:52:11 +00:00
Alexandre Julliard 0f45f1cc30 Strip path name from dll when adding symbols. 2000-06-08 00:59:40 +00:00
Ulrich Weigand 1cbf27a33f Compile fixes for non-i386 archs. 2000-06-04 01:33:21 +00:00
James Juran 2fc028977d DEBUG_ExternalDebugger() needs to be a part of wine, not winedbg. 2000-05-26 01:14:55 +00:00
Eric Pouech f1822356b5 Fixed %p in printf (now using wsprintf which doesn't support it).
Added ThreadId and ProcessId internal vars.
Allow at startup to pick up a process to debug.
2000-05-11 21:43:43 +00:00
Eric Pouech 4a07ed8ef0 Fixed x /s command. 2000-05-09 22:32:01 +00:00
Marcus Meissner 508911b446 Old versions of glibc might not have STN_UNDEF defined. 2000-05-07 18:27:28 +00:00
Eric Pouech b971745ca0 Fixed some buffer overflows.
Made stab parsing more robust (now ignores C++ stabs).
Display correct backtrace at first when invoked on unhandled exception.
Loads stabs from .so files when those are loaded.
2000-05-05 18:14:34 +00:00
Alexandre Julliard f818d42fae Fixed COORD structure definition.
Fixed GetLargestConsoleWindowSize to not return a structure when
called from the Window binary.
2000-05-03 17:48:21 +00:00
Eric Pouech 26342c9824 Fixed segv when debugger registry key doesn't exist. 2000-05-01 14:22:02 +00:00
Eric Pouech 04c16b828e - Enhanced internal variables framework (including read/save to
registry and typing)
- Finalized use of Windows' Console I/O interface (instead of Unix std
  streams)
- Now handling registers as internal variables (they are no longer
  seen as a specific type)
2000-04-30 12:21:15 +00:00
Dimitrie O. Paun 7827254cf2 Get rid of HEAP_xrealloc. 2000-04-28 14:43:34 +00:00
Ulrich Weigand 164bac9292 Improved CodeView type information loader. 2000-04-25 19:53:49 +00:00
Alexandre Julliard e1e75371d9 Implemented on-demand loading of builtin dlls using dlopen(). 2000-04-24 17:17:49 +00:00
Alexandre Julliard 180a088beb Moved PE header definitions to winnt.h where they belong. 2000-04-18 11:58:24 +00:00
Alexandre Julliard a6795414d1 Implemented 'walk process' and 'walk threads' commands using toolhelp
snapshots.
2000-04-16 19:46:35 +00:00
Alexandre Julliard b44595283f Improved Winelib apps initialisation code. No longer need to link
winestub.o with Winelib apps.
2000-04-15 21:00:55 +00:00
Alexandre Julliard 9639a0a8ed Added missing winestub dependency. 2000-04-14 13:47:11 +00:00
Eric Pouech e5efa0ceb6 Made the winedbg an external and WineLib program.
Centralized output handling (preparation for console usage).
Fixed a few debug information reading options (stabs and sym).
Started a framework to hold debugger's internal variables.
2000-04-13 19:31:58 +00:00
Alexandre Julliard c53ceba478 Improved support for Makefiles that need to recurse in subdirectories. 2000-04-09 18:19:59 +00:00
Patrik Stridvall 584640519b Fixed some ANSI C violations. 2000-03-28 19:24:55 +00:00
Eric Pouech 9505c1c8da Now read .so list from debuggee's address space. 2000-03-26 14:42:21 +00:00
Eric Pouech ac11a68f3e improved exception handling
merged all module handling code in new module.c file
reenabled 'walk module' and 'info module' commands
added ability to drive break on thread startup
2000-03-26 13:37:39 +00:00
Patrik Stridvall 3b233623cc Fixed some warnings. 2000-03-24 21:19:02 +00:00
Eric Pouech 7de0d82b3f Fixed basic type evaluation. 2000-03-24 19:46:53 +00:00
Eric Pouech d33bcb6139 Introduced DBG_VALUE struct to manipulate debugger/debuggee address space.
Added watch (hardware assisted debugging) and whatis (type of expr) commands.
Fixed some issues in local vars handling (stabs parsing & registers optimization).
2000-03-15 19:57:20 +00:00
Alexandre Julliard 0966a6d578 Fixed OUTPUT_DEBUG_STRING pointer handling. 2000-03-10 22:25:07 +00:00
Eric Pouech ebd01a94aa Now relying on exception codes to know when debugger is entered for a
single step trap.
2000-03-09 18:46:04 +00:00
Eric Pouech cbb7a172f1 Added proc to start debugging process from its command line (by launching it). 2000-03-09 18:45:43 +00:00
Eric Pouech 29d33a4652 Cleanup. 2000-03-09 18:45:27 +00:00
Patrik Stridvall 6cc47d4924 Removed a lot of unnecessary includes and fixed the compile errors. 2000-03-08 18:26:56 +00:00
Eric Pouech 527eea99f8 No longer directly accessing debuggee memory.
Execution context (mode, steps...) are now linked to a thread.
Removed some X11 crst hacks.
Rewrote info/walk commands.
Removed direct debugger invocation code (and moved the rest to the new
winedbg.c file).
2000-03-08 16:44:54 +00:00
Alexandre Julliard 916f975624 Improved the selector get/set functions.
Support ANSI-compatible inline asm (with the help of Patrik Stridvall).
2000-02-26 16:51:13 +00:00
James Abbatiello 1758f2d81a Misc. fixes for compiler warnings. 2000-02-25 21:01:50 +00:00
Alexandre Julliard 318f4cefd2 Build most dlls as separate shared libraries. 2000-01-31 05:02:49 +00:00
Ulrich Weigand 7d43bceb7e Moved debugger to libwine to make it available to WineLib apps.
Try to invoke external debugger if internal debugger crashes.
Try to handle early invocation of debugger more gracefully.
2000-01-30 21:16:45 +00:00
Alexandre Julliard eafa391081 Use argv[0] to locate the server executable. 2000-01-25 21:19:58 +00:00
Ulrich Weigand 52faa5658c Bugfix: missing NULL pointer checks. 2000-01-23 02:28:14 +00:00
Gerard Patel 6665ad40d0 Display the external modules after the internal modules in crash report. 2000-01-15 23:29:57 +00:00
Ulrich Weigand 0e0a4ab6ae Bugfix: uninitialized pointer caused crashes. 2000-01-05 01:48:08 +00:00
Eric Pouech 8d55bcc2ad Use case insensitive comparison while searching for new modules. 2000-01-04 00:25:03 +00:00
Ulrich Weigand 8142a166ff Parse CodeView type/symbol info with 32-bit type indices.
Added (partial) support for VC 5/6 .PDB files.
Fixed treatment of source file names containing path.
1999-12-10 03:43:53 +00:00
Alexandre Julliard 6f1b642479 Raise an exception when a critical section wait failed. 1999-11-24 01:14:04 +00:00
Niels Kristian Bech Jensen 1d5bc469cc Removed extra #include statements. 1999-11-21 02:14:36 +00:00
Ulrich Weigand b3ec4b91af Made debugger compile and marginally work on non-Intel archs. 1999-11-13 20:58:45 +00:00
Rein Klazes 68c78e7344 Corrected operand sizes for the "enter" instruction. 1999-10-31 21:25:11 +00:00
Patrik Stridvall 96336324cf - Added missing configuration #if:s and #includes:s.
- Minor configuration related changes.
1999-10-24 22:13:47 +00:00
Marcus Meissner 88354d97df Added missing include. 1999-10-24 20:44:38 +00:00
Eric Pouech a88cae1a0b Allow loading of modules debug information after first invocation of
debugger.
1999-10-23 18:55:02 +00:00
Ulrich Weigand 3723c2c8e9 Bugfix: Perform proper process shutdown on 'quit' and error. 1999-10-23 16:49:49 +00:00
Eric Pouech 1427343172 Fixed potential crash in string variable printing. 1999-10-23 14:19:14 +00:00
Ulrich Weigand 233cb06fd0 Bugfix: (E)IP-relative offsets depend on operand, not address, size. 1999-09-19 12:10:03 +00:00
Eric Pouech dfd69a38e8 Fixed crash. 1999-09-03 12:44:03 +00:00
Eric Pouech 99b15133b9 Really do a silent backtrace when requested. 1999-08-21 12:56:15 +00:00
Eric Pouech 9bd9b82a7e Do not set the address if the symbol is still tagged INVALID. 1999-08-21 12:53:49 +00:00
Eric Pouech 28fffb7392 Added support for N_BINCL and N_EINCL instructions.
Fixed type parsing (as generated by egcs).
1999-08-21 12:49:35 +00:00
Alexandre Julliard 7d8cfeb95c Removed IP_reg, SP_reg and FL_reg definitions to avoid potential
aliasing optimization problems.
1999-08-01 14:58:01 +00:00
Patrik Stridvall 478eee17be Eliminated warnings. 1999-07-31 13:13:23 +00:00
Kevin Holbrook 95049edd94 Added utility function to invoke external debugger. 1999-07-24 12:07:35 +00:00
Kevin Holbrook 00761353bf Avoid crashing on a bad symbol address of 0x0000. 1999-07-24 10:29:42 +00:00
Patrik Stridvall 021bd85834 Make it possible to compile with GNU C's -I- option. 1999-07-18 18:40:11 +00:00
Howard Abrams 132774804e Added checks for sys/errno.h, sys/signal.h and sys/mman.h. 1999-07-10 13:16:29 +00:00
Ulrich Weigand d47cdaf96a Bugfix: Grp8 instructions have *byte* BitOffset operand. 1999-06-27 15:29:43 +00:00
Patrik Stridvall 1ed4ecffa8 ANSI C fixes.
Removed warnings.
Made the include files self-sufficient.
Some Solaris fixes.
1999-06-26 14:58:24 +00:00
Juergen Lock 719f308f9e Fix (well kludge around) FreeBSD's `Invalid address' errors. 1999-06-26 11:39:19 +00:00
Alexandre Julliard 0a860a01f9 Merged THDB and TEB structures.
Made SetLastError(), GetCurrentThreadId() and PROCESS_Current() inline.
1999-06-22 11:43:42 +00:00
Alexandre Julliard 410ae4f3e7 Debugger is now called by exception handling.
Added 'pass' command to pass exceptions to the app.
1999-06-18 18:23:11 +00:00
Patrik Stridvall 4bf335497d Removed direct references to CLASS internals. 1999-06-12 14:52:15 +00:00
Guy Albertelli 0e65b38ff3 Add new "walk" command options to list processes and modref's. 1999-06-12 10:49:36 +00:00
Patrik Stridvall e22a4e573a Changed K&R C function definition to ANSI C. 1999-06-12 06:38:22 +00:00
Pavel Roskin 1fe9eb1bfb Make it possible to link Wine statically (at least on RedHat 6.0). 1999-06-05 11:44:46 +00:00
Eric Pouech 3b50d2115b Fixed a few typos. 1999-05-24 08:14:30 +00:00
Eric Pouech cb0f1a9cdc Check when backtracking the stack if frames are correct (readable). 1999-05-24 08:13:49 +00:00
Ulrich Weigand 2c419accb1 Don't freeze other thread while it may hold the X critical section. 1999-05-22 19:03:11 +00:00
Marcus Meissner 5a1bf8f957 Added support for FreeBSD 3.0 to DEBUG_checkmap_bad(). 1999-05-22 10:36:22 +00:00
Ove Kaaven 42751a3e58 Made "Wine-dbg>set *seg:off = val" work (previously only
"Wine-dbg>set *off = val" worked).
1999-05-17 15:53:49 +00:00
Ove Kaaven b6ca7a556d Fixed off-by-one bug in memory access check. 1999-05-09 15:59:57 +00:00
Ove Kaaven c6c04836e8 Fixed a couple of bugs (silent backtrace not totally silent, crashes
when the stack is corrupted or similar).
1999-05-09 15:51:43 +00:00
Patrik Stridvall 1bb9403938 ANSI C fixes. 1999-05-08 15:47:44 +00:00
Patrik Stridvall 896889f317 ANSI C fixes. 1999-05-08 12:50:36 +00:00
Ove Kaaven b4a5db5590 Improved Wine debugger backtrace. New features:
- Displays ebp, in case you want to check stackframes manually
- Detects far calls even when windows apps don't mark them
- Tracks CallFrom16/CallTo16 relaying (thunking)
1999-05-08 12:38:20 +00:00
Uwe Bonnes cdd3a52899 Format output in DEBUG_ExamineMemory for "d" and "x" not to exceed 80
chars.
1999-05-08 10:45:49 +00:00
Patrik Stridvall a9a671d7ca Fixed ANSI compabillity. 1999-04-25 19:01:52 +00:00
Ove Kaaven dda17c681f Added a possibility to let the internal debugger use a separate
heap. Not enabled by default, change #if in include/debugger.h to use
this (the heap allocator is very slow).
1999-04-25 12:24:42 +00:00
Patrik Stridvall 0f8bc5b5c7 Fixed ANSI compabillity. 1999-04-22 16:27:50 +00:00
Ulrich Weigand 2a8c5da0c8 Use CLIENT_DebuggerRequest to freeze/unfreeze threads. 1999-04-11 17:13:43 +00:00
Eric Pouech 15ca6c43a9 Prevent crash in debugger. 1999-04-03 11:10:54 +00:00
Patrik Stridvall b87fe2e9bf More code moved to the X11 driver (bitmap and palette and misc). 1999-04-01 08:16:08 +00:00
Alexandre Julliard 833f3aec1a Abort on input error. 1999-03-24 15:07:20 +00:00
Jim Aston 2e1cafa288 Renamed wintypes.h to windef.h. 1999-03-14 16:35:05 +00:00
Sergey Turchanov 006efb357f Buffer size bug in LocateDebugInfoFile. 1999-03-13 12:44:38 +00:00
Marcus Meissner b0d52b0071 More include optimizations. 1999-02-28 19:59:00 +00:00
David Luyer ee517e863e - fixed missing stdlib.h and string.h includes everywhere
- removed a couple of unneeded stdlib.h and stdio.h includes
1999-02-28 12:27:56 +00:00
Alexandre Julliard a396029270 Large-scale renaming of all Win32 functions and types to use the
standard Windows names.
1999-02-26 11:11:13 +00:00
Eric Pouech 761e314c06 Fixed backtrack issue on 16bit code. 1999-02-20 16:40:47 +00:00
Eric Pouech 2820592e1f Changed LocateDebugInfoFile to reduce stack consumption (from 13k to 2k !!) 1999-02-20 16:40:26 +00:00
Eric Pouech b1518654a1 Fixed comment for Wine documentation. 1999-02-20 16:39:51 +00:00
Marcus Meissner 04c3e1d456 Removed a lot of occurences of windows.h (and added necessary other
includes).
1999-02-19 10:37:02 +00:00
Marcus Meissner 317af320cf Optimized include/*.h: (recursively) include all headers needed by
this .h file, but only those. Necessary fixes to a lot of .c files,
started optimizing "windows.h" away from some of them. Moved
GetCurrentTask prototype to wine/winbase16.h.
1999-02-17 13:51:06 +00:00
Brian Joseph Czapiga 5ef8b175c0 Fixed a few #ifdefs. 1999-02-14 13:35:52 +00:00
Juergen Schmied 36358806ab Implemented better output for indirect calls. 1999-02-14 13:30:18 +00:00