Commit Graph

128 Commits

Author SHA1 Message Date
Alexandre Julliard 8d0cb61bc7 winedbg: Add wrappers for Read/WriteProcessMemory to fix the mingw build. 2009-06-05 15:19:58 +02:00
Mikołaj Zalewski 1e256e426d winedbg: Add a crash dialog for --auto mode. 2009-04-22 17:00:34 +02:00
Francois Gouget 4061d1f8d8 winedbg: Make lexeme_alloc() static in debug.l. 2009-01-20 12:33:52 +01:00
Francois Gouget 5012a57268 winedbg: Make some functions static. 2009-01-20 12:33:47 +01:00
Eric Pouech 583e051044 winedbg: Added scoped symbol picker, and options to handle it. 2008-11-11 11:40:36 +01:00
Eric Pouech 508414313e winedbg: Slightly change the option setting syntax (allows also to get the current state back). 2008-11-11 11:40:26 +01:00
Eric Pouech 4c00325c3b winedbg: Rewrote the symbol picking mechanism so that it can handle several algorithms. 2008-11-11 11:40:17 +01:00
Eric Pouech cbb84fdb73 winedbg: Added a command to allow loading mismatched modules. 2008-10-20 13:53:08 +02:00
Eric Pouech 5c8ad49158 winedbg: Use Unicode strings for all module references. 2008-10-20 13:52:44 +02:00
Eric Pouech 6986975816 winedbg: Search default debuggee dir for symbol information. 2008-09-04 13:47:48 +02:00
Eric Pouech f7f9c08fc0 winedbg: Fixed the print_basic command when dealing with long long values. 2008-05-27 12:03:44 +02:00
Eric Pouech 98e2486820 winedbg: Removed unneeded variable from print_basic. 2008-05-27 12:02:36 +02:00
Eric Pouech 95f2d367b3 winedbg: Attach the source files to a given process, and unload them at process end. 2008-05-01 11:12:53 +02:00
Eric Pouech bce64150eb winedbg: Added a way to support differently selector information depending on current target. 2008-01-14 13:38:21 +01:00
Peter Oberndorfer 394a36c25a winedbg: Only check for break/watch points on first chance exceptions. 2007-05-23 12:51:16 +02:00
Peter Oberndorfer 0bfb26aa99 winedbg: Show some info for msvcrt C++ exceptions. 2007-05-23 12:51:02 +02:00
Eric Pouech b795f8735d winedbg: Support for debugging child processes.
Added internal flag (AlsoDebugProcChild) to let winedbg debug both
parent and child (in the same WineDbg session).
2007-02-12 13:59:53 +01:00
Eric Pouech b2557f25d9 winedbg: Added a maintenance command to load a given module (for debug purposes). 2007-01-04 11:12:06 +01:00
Alexandre Julliard 2bc33389e8 winedbg: Fixed a few data types. 2006-12-20 14:57:08 +01:00
Eric Pouech 932ad65c83 winedbg: Now that local variable computation depends on instruction
pointer value, be sure to have the relevant insn ptr value when
fetching the stack frames (spotted by Peter Oberndorfer).
2006-12-04 14:03:04 +01:00
Eric Pouech d6d8682d71 winedbg: Added some black magic to still handle register values on non
current frame for some of the registers we know of (frame pointer,
stack pointer).
2006-12-04 14:02:02 +01:00
Eric Pouech 7ca25148f4 winedbg: Added basic support for printing 64bit wide entities. 2006-11-27 18:09:30 +01:00
Eric Pouech 62f16d3cd4 winedbg: Various information printing issues.
- in backtraces, (void) functions should be listed with '()' as arguments instead of ''
- factorized code for diplaying information about a local/parameter
- fixed a couple of bugs here
- rewrote format specifiers for print commands (do no waste space for padding data)
- added support for new wine's dbghelp extension for local/parameter
  variables being out of scope
2006-11-27 18:06:41 +01:00
Eric Pouech 588a4422b0 winedbg: Fixed regression in gdb startup (especially gdb proxy). 2006-09-26 12:04:06 +02:00
Ge van Geldorp 1d04f826c7 winedbg: Change ADDRESS variables to ADDRESS64 so we can handle 64-bit addresses. 2006-07-26 15:21:42 +02:00
Ge van Geldorp ac857cb31a winedbg: Implement some x86_64 backend routines. 2006-07-11 12:40:11 +02:00
Ge van Geldorp f0279726eb winedbg: Adjust the parameters of the backend read/write routines to
match those of ReadProcessMemory/WriteProcessMemory, since those are
the ones actually used.
2006-07-03 11:37:29 +02:00
Eric Pouech e79085258b winedbg: Proper handling of typedefs.
Added types_get_real_type() to get rid of typedef information, and
access the real underlying type.
2006-06-20 11:36:25 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Eric Pouech 348067a9bf winedbg: Add ability to reload a minidump.
- now recognize winedbg foo.mdmp on command line
- fleshed out tgt_minidump to reload information from minidump
2006-03-02 11:49:41 +01:00
Eric Pouech c918e80ed2 winedbg: process_io
- added ability to specify process_io at process creation/attachment
  time
- created a process_io structure for gdbproxy
2006-03-02 11:48:43 +01:00
Eric Pouech f29d084c37 winedbg: main_loop.
- split dbg_main_loop in two parts (one for finishing the debuggee
  attachment, the second one really for handling the main loop)
- removed now longer needed dbg_main_loop
2006-03-02 11:43:10 +01:00
Eric Pouech 5ca519705d winedbg: Added a close_process method to process_io.
- added a close_process method to process_io
- made use of it to get rid of dbg_detach
2006-02-28 12:07:23 +01:00
Eric Pouech 67001a1d8b winedbg: Rewrite auto mode.
- rewrote auto mode as a specific set of commands to be run in
  regular parser, instead of hard coding those commands
- added a new function to store a set of commands to be executed
  in a file
- added 'echo' command to the parser functions
- got rid of dbg_action_mode
- added support of '--' on command line
2006-02-28 12:05:15 +01:00
Eric Pouech 893d7524c7 winedbg: Auto mode.
- rewrite auto mode startup
- move part of auto handling to tgt_active.c
2006-02-27 14:30:18 +01:00
Eric Pouech a67f8e862e winedbg: Move gdb command line handling.
- moves gdb command line handling to gdbproxy.c
- using manifest constants to make code more readable
2006-02-27 14:22:21 +01:00
Eric Pouech ac7be1e91b winedbg: Active and command line.
- move process attachment and process creation (related to command
  line handling) from winedbg.c to tgt_active.c
- tidy up argument parsing
2006-02-27 14:19:57 +01:00
Eric Pouech f16f847cc7 winedbg: Cleanup the process_io usage.
- made be_process_io references 'const'
- make use of it for dbg_read_memory and dbg_write_memory
2006-02-27 14:17:25 +01:00
Eric Pouech 829e002c3f winedbg: Active targets
Move all code related to an 'active' target (ie a running process)
from winedbg.c to tgt_active.c.
2006-02-27 14:14:05 +01:00
Eric Pouech 2ce5eca6a5 winedbg: Added support for function parameters passed in registers.
Added correct stabs parsing for function parameters in registers.
Added a couple of helper functions to make code smaller and more
readable.
2006-02-06 11:27:32 +01:00
Eric Pouech 6ab9b23526 winedbg: Hardware breakpoints
- implemented hardware assisted breakpoints (new 'hbreak' command
  which behaves just as 'break' command)
- small improvements to break handling (saving hit xpoint across
  exception handling)
- fixed 'cont N' command for watchpoints
2006-01-27 16:17:22 +01:00
Eric Pouech 9d0b5f5372 winedbg: Added a more decent scheme for handling segmented addresses. 2006-01-23 16:26:40 +01:00
Eric Pouech c238ec520f Replaced stack_get_frame with a pure symbol (and no longer stackframe)
oriented API (stack_get_current_symbol).
Reused the func name (stack_get_frame) for internal stack.c handling.
2005-11-29 11:24:04 +01:00
Ge van Geldorp 1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Eric Pouech a81afd15d8 Move print_func_and_args to stack.c, where it belongs. 2005-11-18 15:04:44 +00:00
Eric Pouech 3e07e04764 - now storing frames information in thread structure
- frames are cached after each thread stops execution
- reimplemented backtrace on top of this
2005-11-18 12:33:03 +00:00
Eric Pouech 6cd44bc89d Simplification of lex's input reading. 2005-11-17 11:04:27 +00:00
Eric Pouech 1c5d35fd92 Added ability to execute commands from a file passed on command line
(through --file option).
Use that feature to get rid of arg_command hack (--command option now
creates a temporary file).
2005-11-16 11:23:07 +00:00
Mike McCormack 516a577df1 Fix gcc 4.0 warnings. 2005-08-19 10:04:03 +00:00
Eric Pouech d6be549a76 - started infrastructure for proper multi-target support (active
process, minidump...)
- all read/write memory ops are now done thru a centralized process_io
  facility
- minor fixes & cleanups in CPU backends
2005-05-24 11:46:25 +00:00
Eric Pouech a561275579 - now storing exception info (if any) in thread structure
- added minidump function in winedbg (write only)
2005-05-23 16:22:44 +00:00
Eric Pouech 113bfe0fdc Removed the macros for verbose memory read/write operations. 2005-05-23 10:25:56 +00:00
Eric Pouech 29a70954f9 - no longer store internally the " for strings
- misc clean-ups
- activate symbol demangling by default
2005-05-23 09:51:44 +00:00
Alexandre Julliard 3f7f290b0b Fixed a few regressions in the handling of segmented addresses. 2005-03-03 14:10:17 +00:00
Jeremy White 193c83f646 Properly respect a disassemble x,y command (prior behavior would do
y-x instructions, no matter how wide each instruction was).
2004-12-06 16:35:33 +00:00
Eric Pouech 99e07b5bf2 - fixed regression in watchpoint setting (by addr)
- in backtrace, show at least module when no symbol is found
- protect event parsing from command line (when no real number)
2004-11-08 20:25:55 +00:00
Eric Pouech 5fe480b472 - fixed regression in ctrl-c handling
- fixed regression in 'info symbol XXXX' command (and enhanced
  presentation)
- fixed regression in line stepping
- fixed regression in & (address operator) handling
- fixed some bad module reference for local symbols
- enhanced register presentation as local variables
- added warning when launching a debuggee which isn't a Wine app
- removed the 'local' extension of display command (and check when
  setting the display whether the expr has a local binding)
- simplified exception handling, and factorized some code when
  debugger stops
2004-09-28 02:13:27 +00:00
Eric Pouech 926f66186f - fixed breakpoint enabled/disabled state management
- fixed recursion in type printing
- now all type-id are stored with the base address of the module which
  defines the type (struct dbg_type takes care of this pairing)
- fixed a couple of bugs in display handling
- fixed strings print and examination
2004-08-22 22:35:36 +00:00
Alexandre Julliard 25e2a320a7 Don't define BEGIN_INTERFACE in unknwn.h. 2004-08-22 21:38:46 +00:00
Mike Hearn 48210fc3e4 Add a --command option to winedbg, add an "all" option to the
backtrace command.
2004-06-23 00:10:02 +00:00
Eric Pouech deca2502d6 - all symbol information storage is now module relative, so we can
unload a module (and it's debugging information), and a process
  without pain
- portabiblity to another CPU should be easier now (CPU dependent backend)
- speed up memory allocation
- stabs related fixes:
      + now correctly handling symbol's size
      + blocks {} in functions are now correctly recognized and stored
        (also applies to local variables scoping)
      + better basic types management (less wild guesses in the code)
      + full support of inline functions (source stepping now shows the
        code in .h files for example)
- removal of external debugger (attaching with gdb is just fine to
  debug winedbg)
- fixed a couple of issues for symbol address handling (address
  lookup, incorrect type binding)
- winedbg now has a man page
2004-06-04 00:59:16 +00:00
Eric Pouech 62bf6ecc85 - now detecting Dwarf debug information in ELF modules (but don't load
it)
- separated module management (pe.c, elf.c) from debug information
  management (stabs.c, msc.c)
- worked around new wine-pthread and wine-kthread loaders (no longer
  use "wine" as default loader)
- better convergence of gdb-proxy and winedbg for ELF handling
- fixed ELF link-map walking - now using all loaded shared libs -
  (with the help of Robert Shearman)
- added a bit of const correctness
2004-02-03 00:14:12 +00:00
Eric Pouech 48f97983d7 - get rid of winedbg internal channels for output
- move all standard (old MESG channel) output to stdout
- move all other outputs (TRACE, WARN...) to a new wine debugging
  channel (winedbg)
- replaced quite a few #ifdef:ed out output to new channels (mainly in
  symbol management area...)
- added a new maintenance commands to ease up debugging
- updated documentation accordingly
2003-12-15 19:53:08 +00:00
Alexandre Julliard 402b79a1e8 Porting fixes. 2003-11-27 00:59:36 +00:00
Alexandre Julliard a167c3bb68 Get rid of the memory allocation macros, use real functions instead. 2003-10-15 21:14:08 +00:00
Michal Janusz Miroslaw f3ed10a246 Extend displays: now one can add displays active only in specified
function; displays now can be enabled/disabled like in gdb.
2003-10-14 20:25:16 +00:00
Daniel Marmier 8e5bb20542 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-09 04:39:01 +00:00
Alexandre Julliard c30cefb2d5 Store module names in Unicode in the server. 2003-09-30 01:04:19 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard b88d340755 Removed uses of u_long. Use void* type for pointers where possible. 2003-04-01 00:02:36 +00:00
Eric Pouech 2d309da2c0 Added support for Ctrl-C handling if not running in a console.
Added (maintenance) configuration var to trigger external debugger on
winedbg's exceptions.
2003-03-04 02:18:20 +00:00
Eric Pouech d0882d5435 - removed unused function: SetSymbolValue
- enhanced a bit AddSymbol regarding invalid symbol management (and
  enhanced its traces)
- now printing type information in 'info sym'
2003-02-19 03:41:48 +00:00
Eric Pouech 9859ec4cdb - added GetName() to retrieve type name
- reimplemented DumpTypes so that it really dumps the types content
- now printing type information in 'info sym'
2003-02-17 01:47:38 +00:00
Eric Pouech 8e0dcc410c Attach command no longer worked as expected, fixed it. 2003-02-11 22:05:06 +00:00
Eric Pouech 45adf0843f - Removed no longer used queue & modref related commands.
- Protected walk commands while being called with no process loaded.
- In command grammar, allowed some expressions while only numbers
  where accepted.
- Renamed 'info maps' info 'walk maps' and let it work on any
  process.
2003-01-30 00:24:18 +00:00
Eric Pouech 6843fee633 Added 'info symbol' command to look for defined symbols. 2003-01-11 22:48:42 +00:00
Eric Pouech 2fc867c045 Added ability to abort on interactive symbol lookup. 2002-09-16 19:26:48 +00:00
Alexandre Julliard f264bd326b Moved the debugger to programs/winedbg where it belongs. 2002-09-13 17:54:27 +00:00