Commit Graph

272 Commits

Author SHA1 Message Date
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