Commit Graph

330 Commits

Author SHA1 Message Date
Alexandre Julliard dfd1abfa57 winedbg: Allow building without debug support in the parser. 2006-09-09 11:26:35 +02:00
Alexandre Julliard c58614fd2c winedbg: Specify the lex options directly in the source file. 2006-09-09 11:25:41 +02:00
Marcus Meissner b3a72ad1dd Remove some more unused debugging channels. 2006-08-29 12:28:58 +02:00
Eric Pouech 9766dd1a5f winedbg: Native dbghelp generate long basic types, so handle them too. 2006-08-28 11:40:58 +02:00
Stefan Huehner 803f3bd0a9 winedbg: Fix typo in manpage. 2006-08-23 16:54:28 +02:00
Eric Pouech 9e9f8af552 winedbg: Correctly protect system inclusion (needed for Mingw compilation). 2006-08-15 11:42:16 +02:00
Alexandre Julliard 1089260f29 configure: Only link against libpoll where really necessary. 2006-08-15 11:41:59 +02:00
Eric Pouech bd9ba7ec37 winedbg: Fixed the symbol lookup so that it can really find _foo when looking for foo. 2006-08-14 20:17:11 +02:00
Eric Pouech 84650ebbb2 winedbg: Native dbghelp can modify the passed debug context in StackWalk, so guard against it. 2006-08-14 20:17:11 +02:00
Eric Pouech 588589b8de winedbg: Don't ask for module inspection when calling SymInitialize. 2006-08-14 20:17:11 +02:00
Stefan Leichter 7ee81d7b03 winedbg: Print 64bit integers with wine_dbgstr_longlong. 2006-08-14 11:45:25 +02:00
Alexandre Julliard 2886e9b0e8 makefiles: Use make dependencies to create installation directories.
This avoids a lot of redundant calls to mkinstalldirs.
2006-08-07 17:48:18 +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
Alexandre Julliard 88c97d7284 .gitignore: Added wildcards to ignore lex and bison output files. 2006-07-10 21:40:49 +02:00
Alexandre Julliard 028ab92bf7 make_progs: Generate the .gitignore file.
Ignore generated programs from the top-level .gitignore.
2006-07-10 20:59:06 +02:00
Alexandre Julliard cc2b3b48e6 Take advantage of the recursive nature of .gitignore for Makefile entries.
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +02:00
Ge van Geldorp a2e94444ad winedbg: Implement be_x86_64_init_registers. 2006-07-03 11:41:53 +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 6cff43fd72 winedbg: Module info.
when requesting info on a module by address, always print the module
ELF/PE pair (if this applies) (and not only the embedded PE), which
can be confusing.
2006-06-27 11:19:53 +02:00
Eric Pouech 82ed6a4578 winedbg: Use 64 bit version of imagehlp_module.
This allows reimplementing the module list command and do less black
magic to guess the ELF debug format.
2006-06-27 11:19:03 +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
Ge van Geldorp e08a176007 winedbg: Added x86_64 support. 2006-06-20 11:06:31 +02:00
Alexandre Julliard d47dcbf05a winedbg: Avoid a crash when there's no backtrace to print. 2006-06-15 11:39:29 +02:00
Alexandre Julliard 68090e5d68 winedbg: sscanf arguments should be ints, not size_t. 2006-06-13 14:16:06 +02:00
Andrew Talbot a7142d435b winedbg: Write-strings warnings fix. 2006-06-12 13:21:48 +02:00
Alexandre Julliard dbd566d545 Revert "winedbg: Remove useless NOCMD state."
This reverts 92deacbe42 commit.
2006-06-06 17:15:31 +02:00
Juan Lang b885b76146 winedbg: Get rid of unused mode command. 2006-06-05 21:01:40 +02:00
Juan Lang 92deacbe42 winedbg: Remove useless NOCMD state. 2006-06-05 13:50:23 +02:00
Eric Pouech 65da8987d5 winedbg: Correct typedefs in type manipulations. 2006-06-05 13:24:24 +02:00
Juan Lang a866fa37e9 winedbg: Fix a crash on initial empty input. 2006-06-03 11:58:34 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Eric Pouech 820141114e winedbg: extract_as_integer
- now supporting extract_as_integer on functions (so that, 
  for example, 'disas foo' works as expected)
- now properly handling errors when calling extract_as_integer
2006-05-17 10:41:41 +02:00
Eric Pouech bf8509d37c winedbg: Fixed regression for command 'bt all'.
Don't print 'process has terminated' message when detaching from a
process (or backtracing it).
2006-05-15 11:04:05 +02:00
Petr Tesarik 68f8d28945 winedbg: Fix stepping over an instruction. 2006-03-27 12:14:20 +02:00
Eric Pouech f661e7a924 winedbg: Fixes for identifiers.
- fixed lexical rules for a path name
- fixed identifier rules so that we get the right precedence
  between ! and ::
- modules (in mod!name forms) are now handled as tIDENTIFIER
  (tPATH was buggy anyhow)
2006-03-27 11:30:50 +02:00
Jeff Latimer 0994126701 winedbg: Add display for floating point status.
Added code to examine and display floating point unit status into
be_i386.c as info all-regs command.
2006-03-21 16:30:47 +01:00
Jeff Latimer 18f5d0abdc winedbg: Copy floating point status to the dbgcontext. 2006-03-20 12:04:00 +01:00
Eric Pouech db90e17d92 dbghelp: Live target detection.
- DBGHELP_NOLIVE env variable is tested earlier to avoid 
  some strange effects in live target detection
- in WineDbg, delete DBGHELP_NOLIVE before attaching to
  a process, because we know it must be a live target
2006-03-18 18:05:38 +01:00
Petr Tesarik 315c4e78cb winedbg: Fix lcall instruction opcode. 2006-03-10 21:41:09 +01:00
Eric Pouech 81198f3971 winedbg: Bring usage() and .man up to date. 2006-03-02 11:55:12 +01: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 4202c752d3 winedbg: Extend auto mode with minidump.
- added -minidump and -minidump <file> options to command line

Those options are to be used in remplacement of --auto to create a minidump
In the form --minidump <file>, the minidump will be created in <file>,
otherwise the filename will be automatically generated.
2006-02-28 12:06:33 +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 22ff946409 winedbg: Fixed regression in gdb handling. 2006-02-28 12:05:06 +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 804cd257f6 winedbg: Fixed regression: stack info was no longer working. 2006-02-20 11:03:33 +01:00
Eric Pouech a7ff2f671c winedbg: A couple of fixes after running valgrind. 2006-02-16 12:06:43 +01:00
Eric Pouech 467ba4d398 winedbg: Allow using MSVC mangled symbol names as identifiers. 2006-02-14 14:03:52 +01:00
Mike Frysinger 5392844392 Add support for 'make install DESTDIR'. 2006-02-14 13:51:38 +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
Alexandre Julliard b7b7f2b679 Avoid importing _strlwr/_strupr from ntdll. 2006-01-24 12:24:05 +01:00
Alexandre Julliard 9daaab54c7 winedbg: Use Win32 types instead of long long. 2006-01-23 16:47:07 +01:00
Eric Pouech 9d0b5f5372 winedbg: Added a more decent scheme for handling segmented addresses. 2006-01-23 16:26:40 +01:00
Alexandre Julliard 1e96455094 Remove YY_NO defines that cause warnings. 2006-01-05 12:20:05 +01:00
Alexandre Julliard 0ae2c69c7a Added some flex options to avoid compiler warnings.
Moved options from the Makefile into the source.
2006-01-03 12:16:05 +01:00
Eric Pouech 4d7f9f7c65 winedbg: Fixed broken code about type management for binary operator. 2005-12-06 10:57:17 +01:00
Eric Pouech 34db4856ae dbghelp,winedbg: SYMBOL_INFO fix.
- native dbghelp returns in SYMBOL_INFO.TypeIndex the index of the
   type of the symbol (we were returning the symbol index instead)
- fixed winedbg accordingly
2005-12-05 12:00:54 +01:00
Eric Pouech 56dcea4d16 winedbg: simplify some code. 2005-12-03 18:09:59 +01:00
Eric Pouech 30121124b9 winedbg: fixed regression (and simplified code!) for arguments
printing in backtrace.
2005-12-03 18:02:49 +01:00
Eric Pouech 28c503a947 winedbg: fixed regression in 'info local' command. 2005-12-03 18:02:31 +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
Alexandre Julliard ec34a66612 Ignore symlink files too (needed for git). 2005-11-26 13:12:57 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Francois Gouget 6d442aeb34 Assorted spelling fixes. 2005-11-23 20:14:43 +01:00
Eric Pouech 58968a2867 Native dbghelp doesn't provide names for basic type, so added relevant
basic type names in winedbg.
2005-11-18 16:53:32 +00:00
Eric Pouech ae6239d53d Centralized calls for SymSetContext, we only do it when we change the
current stack frame, and no longer every time we look up local symbols
on current stack
2005-11-18 16:27:55 +00: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 73b0e94bb3 Now returning correct symbol flags (as native does) for function pmts
& locals in dbghelp.
Modified winedbg accordingly.
2005-11-18 12:05:44 +00:00
Eric Pouech f7dd869ebf Dbghelp describes the types of function arguments with a specific
symbol-type (symt) which links both to arguments' type and to function
prototype
- added this new type to dbghelp
- implemented its use in winedbg
2005-11-17 12:53:41 +00:00
Eric Pouech 6b7bebfbf9 SymGetType(...,TI_GET_LENGTH,...) requires a 64 bit parameter, not a
32 bit one.
2005-11-17 11:51:53 +00:00
Eric Pouech 67e4edc522 When a symbol name already contains a module name, we shouldn't search
in other modules.
2005-11-17 11:04:39 +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
Eric Pouech e596a0113f Removed a couple of shift/reduce warnings in grammar. 2005-11-12 19:10:24 +00:00
Eric Pouech 2d62ba5557 Fixed 'break NN' command (using dbghelp.SymEnumLines). 2005-11-03 11:33:04 +00:00
Eric Pouech f50695c714 Handle error conditions for print. 2005-10-10 10:27:22 +00:00
Alexandre Julliard 12a749984c Put Wine version information in all the man pages. 2005-10-06 16:10:01 +00:00
Eric Pouech 9c63540d55 Now printing information when changing function while single stepping. 2005-10-03 11:04:29 +00:00
Eric Pouech 4cc0bf2848 Fixed bitfield extraction. 2005-10-03 11:04:13 +00:00
Eric Pouech de02b20c0c Fixed array dereferencing. 2005-10-03 10:16:01 +00:00
Alexandre Julliard 7e22be4d84 We are no longer generating .dbg.c files. 2005-09-29 10:35:58 +00:00
Alexandre Julliard cd91bc61be Now that we are requiring bison anyway, make the .tab.c file use the
same base name as the .y file, so that we can generate correct
dependencies in all cases.
2005-09-28 18:17:08 +00:00
Alexandre Julliard cbc38965c0 New scheme for keeping track of debug channels that doesn't require
maintaining a list of all loaded dlls.
2005-09-28 15:21:48 +00:00
Alexandre Julliard 3f611ee0c9 Fixed disassembling functions to handle 16-bit code segments properly. 2005-09-27 09:33:42 +00:00
Alexandre Julliard e4b2a0bbbc Use Get/SetWindowLongPtr instead of Get/SetWindowLong where
appropriate.
2005-09-09 15:20:04 +00:00
Glenn Wurster 7ba6502dd9 Don't pass on EH_STACK_INVALID exceptions. 2005-08-23 10:02:05 +00:00
Alexandre Julliard 6d1067b915 Make sure the string is null-terminated in memory_get_string. 2005-08-19 10:26:23 +00:00
Mike McCormack 516a577df1 Fix gcc 4.0 warnings. 2005-08-19 10:04:03 +00:00
Robert Shearman 0c9195c650 Remove additional current process tracking in backtrace_all as it can
refer to freed memory.
2005-07-14 10:14:44 +00:00
Francois Gouget 28dc5a8afc Assorted spelling fixes. 2005-07-11 10:59:41 +00:00
Mike McCormack 257c337c19 gcc 4.0 -Wpointer-sign fixes (Reg* functions). 2005-07-07 12:08:42 +00:00
Francois Gouget 0f150ad86d Improve the winedbg usage. 2005-06-30 18:09:15 +00:00
Alexandre Julliard 2e4bca9db5 Added magic comments to all Wine-specific registry accesses to make
them easier to grep.
2005-06-13 18:56:00 +00:00
Mike McCormack d73dad6630 Fixes for -Wmissing-declarations and -Wwrite-strings warnings. 2005-06-04 10:01:25 +00:00
Eric Pouech 73ea238f46 Reindented parts to be conform to the rest of the code. 2005-05-29 20:04:28 +00:00
Eric Pouech 333addd264 Rewrote all stack backtrace code (more code sharing, easier to follow,
and less bugs).
2005-05-29 20:03:56 +00:00
Hans Leidekker 97d1b11ebd Fix uninitialized warnings. 2005-05-24 12:34:29 +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
David Welch ccafccebf0 Added the ability to break into the program when using the gdb proxy. 2005-05-24 10:11:37 +00:00
David Welch 8fa319264d Fix decoding of thread IDs in the gdbproxy. 2005-05-24 09:49:56 +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 827a69f8ca Avoid referencing stackframe.h from outside kernel32. 2005-05-16 14:20:16 +00:00
Peter Berg Larsen e732fc023d Janitorial: Get rid of strncpy/strncpyW. 2005-03-28 14:17:51 +00:00
Francois Gouget 93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
C. Scott Ananian a418694d05 Add tSTRING to the pathname production, so that you can quote a
pathname which contains 'odd' characters.
2005-03-14 10:48:29 +00:00
C. Scott Ananian 28c2b5494f Move definition of 'tPATH' token up, so that '/', '.' and '0xA' (etc)
are lexed as paths (in the appropriate contexts) instead of as
operator or number tokens.
Add '-' to the set of characters legal in a pathname.
2005-03-14 10:48:08 +00:00
Alexandre Julliard 9772d02287 Make output line-buffered to avoid messing up log files. 2005-03-07 12:26:48 +00:00
Alexandre Julliard 31c4aa736d Avoid a compiler warning. 2005-03-04 12:33:34 +00:00
Alexandre Julliard 3f7f290b0b Fixed a few regressions in the handling of segmented addresses. 2005-03-03 14:10:17 +00:00
Francois Gouget fbb3343547 Assorted spelling fixes. 2005-03-02 13:53:50 +00:00
Jon Griffiths cb613f5111 Use config.h & HAVE_ where needed, -W fixes. 2005-02-22 14:52:35 +00:00
Oliver Stieber b8f6a93941 Mention bt [all | <tid>]. 2005-02-14 11:04:15 +00:00
Oliver Stieber e8007cc0ef Added vCont support. 2005-02-10 21:18:12 +00:00
Mike Hearn 5ca9d58491 Show window owner thread in winedbg. 2005-01-31 16:22:05 +00:00
Eric Pouech 499cff6f26 Cleanup of dbghelp.h (and a couple of definition fixes). The
displacements (in most of the functions) are not optional.
2005-01-31 11:34:59 +00:00
Francois Gouget da8b3dd7f2 Assorted spelling fixes. 2005-01-26 21:09:04 +00:00
Jon Griffiths e7a49e7fa2 Typos/grammar fixes. 2005-01-03 14:38:03 +00:00
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Eric Pouech bcfa5b0900 ReadFile and WriteFile must be passed a parameter for the number of
handled bytes when no overlapped operation is done.
2004-12-22 18:38:31 +00:00
Alexandre Julliard d5088668de Generate stub entries on the fly for missing entry points instead of
returning a deadbeef pointer.
2004-12-14 20:03:23 +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 25cdb4c236 Fixed regressions introduced when moving addresses as 64bit values. 2004-11-22 18:30:10 +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
Robert Shearman abfcc0bdad Limit StackWalk iterations to prevent infinite loop. 2004-11-06 03:44:44 +00:00
Vincent Béron 2c1b35dd17 Add some more Alpha asm code and Alpha-specific parts. 2004-10-18 21:27:52 +00:00
Robert Shearman 6c50556e8b Fix function and structure field types so we are compatible with the
native dbghelp.
2004-10-11 21:00:17 +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
Robert Shearman e4e7186b25 Fix debugger for flat PC and non-flat frame. 2004-09-23 04:27:46 +00:00
Hans Leidekker 719a789792 Fix signed/unsigned comparison warnings. 2004-09-22 02:46:38 +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
Marcus Meissner fac7405531 Replaced undefined C expression. 2004-08-02 18:25:58 +00:00
Pierre d'Herbemont 58f25b7b03 Define the backend_cpu regarding the host processor. 2004-07-16 02:31:55 +00:00
Eric Pouech 3b8805fca0 Fixed regression on 'bt <tid>' command. 2004-07-12 19:48:04 +00:00
Eric Pouech 10e8ed071a - enhanced 'info share' output
- made use of new dbghelp pure ELF symbol lookup
2004-07-04 00:25:15 +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 4e0b582903 Fix compile error on non-i386. 2004-06-22 02:06:37 +00:00