Commit Graph

253 Commits

Author SHA1 Message Date
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
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
Francois Gouget 22ff3d43f7 Have winedbg send its output to stderr when invoked with the --auto
option.
2004-04-15 04:58:09 +00:00
Alexandre Julliard 6be39b60f5 Take advantage of the new winegcc -B support. 2004-03-09 04:54:07 +00:00
Alexandre Julliard 589e115233 We no longer use the .exe.spec.c files. 2004-03-02 21:16:37 +00:00
Alexandre Julliard 6621b2d213 Build all the programs with winegcc. 2004-03-02 21:00:00 +00:00
Matt Chapman 9f9462a1c9 Fix dumping of Unicode strings. 2004-02-25 01:24:42 +00:00
Yorick Hardy 3e2fa2c33a Use SHN_UNDEF instead of STN_UNDEF to specify undefined section
index.
2004-02-24 01:22:37 +00:00
Eric Pouech 141db032c4 - fixed ELF modules' size information
- fixed containers' tests
2004-02-24 00:59:57 +00:00
Francois Gouget ad5ff7ceeb Assorted spelling and case fixes. 2004-02-09 22:07:42 +00:00
Eric Pouech 269b8a0e8c Fixed typo. 2004-02-06 05:22:14 +00:00
Eric Pouech 53fa0d5433 - Fixed broken winedbg compilation on BSD.
- Fixed some corner case handling in ELF list walking (reported by
  Robert Shearman).
2004-02-05 01:27:38 +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 39628f49ed - now reporting message on bogus line number in 'bp <num>' commands
(useful when user thinks <num> is a linear address)
- fixed bogus return value in DEBUG_AddBreakpoint
2004-01-28 20:05:39 +00:00
Sami Aario a24da03943 Fix a debug message. 2004-01-27 03:59:36 +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
Andrew de Quincey fc0968d4d1 Fixed one more HeapReAlloc call. 2003-11-30 02:53:29 +00:00
Alexandre Julliard 402b79a1e8 Porting fixes. 2003-11-27 00:59:36 +00:00
Alexandre Julliard 49a98285ed Fixed one more HeapReAlloc call. 2003-11-26 04:10:08 +00:00
Rein Klazes 8404438f71 Let "info wnd" print the client rectangle in screen coordinates. 2003-11-05 00:36:23 +00:00
Rolf Kalbermatter 76f13deb26 Use INVALID_FILE_ATTRIBUTES to test for failure of
GetFileAttributesA/W and not -1 or 0xFFFFFFFF.
2003-10-16 19:12:49 +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
Dimitrie O. Paun 921df719e5 Fix some instances of memory allocation through HeapReAlloc(). 2003-10-11 05:25:31 +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
Jon Griffiths 09fefeed7a Not everyone has <unistd.h>, some files need <io.h> too (msvc). 2003-09-23 22:54:57 +00:00
Michal Janusz Miroslaw bf3de5ed6b DEBUG_cmp_sym: micro optimization/cleanup. 2003-09-22 21:12:44 +00:00
Alexandre Julliard 62986a0107 Added a few missing stdarg.h includes. 2003-09-07 05:08:14 +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 ee106783d0 Renamed EXCEPTION_FRAME to EXCEPTION_REGISTRATION_RECORD since that
seems to be the official name.
2003-08-28 03:07:56 +00:00
Alexandre Julliard 1f467ffca6 Correctly pass the exception to the application when
BreakOnFirstChance is 0.
2003-08-21 21:28:51 +00:00
Gregory M. Turner 7bcf7b1602 Wrap error-prone msc symbol loading with a __TRY block. 2003-08-19 00:57:58 +00:00
Richard Cohen 574f058bae Use the ELF sections for the addresses of globals, as the STABS are
likely to be wrong.
2003-08-07 02:56:55 +00:00
Richard Cohen 387ca9ba89 - Print short ASCII strings without the "..."
- Make printing for Unicode strings more similar to ASCII.
2003-08-07 02:56:35 +00:00
André Johansen aeffb6c312 Avoid crashing when unable to read pdb file. 2003-08-02 00:43:32 +00:00
Francois Gouget 3ca761220a Spelling fixes (s/occured/occurred/ and variants). 2003-07-15 20:53:39 +00:00
Catalin Patulea 064cce0ea2 Only display filenames when showing addresses. 2003-07-09 22:01:33 +00:00
Catalin Patulea 2e7c0de616 Fixed Unicode string output. 2003-06-30 20:19:42 +00:00
Francois Gouget c5f775a9c7 Typos/spelling fixes. 2003-06-18 03:30:39 +00:00
Alexandre Julliard 6bc5091160 Start to make use of the proper PEB structure for process
information.
2003-05-22 03:44:01 +00:00
Alexandre Julliard 0ae5c5fce8 Use int instead of socklen_t. 2003-05-13 03:38:19 +00:00
Alexandre Julliard 6da201fddf Added dummy read_elf_info for the non-ELF case (reported by Steven
Edwards).
2003-05-02 21:24:44 +00:00
Eric Pouech 5052e072e3 - added support for multi-thread in GDB remote read/write register(s)
commands
- by default, internal errors are now verbose
2003-04-19 21:27:47 +00:00
Alexandre Julliard 56b5e0862c Remove the Wine-specific EXCEPTION_CRITICAL_SECTION_WAIT define. 2003-04-04 19:41:31 +00:00
Eric Pouech c46e6747af Added support for R types in stabs parsing. 2003-04-02 01:07:53 +00:00
Alexandre Julliard 06a8c1203f Portability fixes. 2003-04-01 00:12:50 +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
Alexandre Julliard 2ee8b5bb13 Replaced mkstemp by mkstemps from libiberty.
Removed a couple of unnecessary portability functions.
2003-03-20 21:07:49 +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 41018add5d Removed no longer needed UseXTerm internal variable. 2003-02-27 01:42:39 +00:00
Marcus Meissner 9a1b221e80 Print out name of float exceptions. 2003-02-24 20:38:44 +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 0607e083ac - added parsing of C++ inheritence information
- added an internal trace for displaying errors in typedef parsing
- enhanced ELF symbol management (direct call to AddSymbol in ELF
  header)
2003-02-19 03:41:25 +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 ee04693c99 Moved expr freeing when translating a command (no longer done on each
command which uses an expr).
2003-02-17 01:47:20 +00:00
Mike Hearn 7483aea5b1 Removed the nonexistant command "debugmsg" from winedbg help screen. 2003-02-14 19:22:48 +00:00
Eric Pouech fa05849e67 Translated sprintf calls into snprintf. 2003-02-11 22:07:16 +00:00
Eric Pouech 073abfce18 - translated sprintf calls into snprintf
- added helper for sending strings in hex form
2003-02-11 22:06:19 +00:00
Eric Pouech 8e0dcc410c Attach command no longer worked as expected, fixed it. 2003-02-11 22:05:06 +00:00
Eric Pouech 084e74bdfc - Added experimental parsing for C++ code (but winedbg doesn't support
C++ ABI).
- Now loading symbols for included files.
2003-01-30 01:18: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
Alexandre Julliard f8aa3b506c Added -Wpointer-arith gcc flag, and fixed the resulting warnings. 2003-01-23 21:32:35 +00:00
Alexandre Julliard b69389520c Added configure check for regex.h. 2003-01-13 18:41:40 +00:00
Eric Pouech 6843fee633 Added 'info symbol' command to look for defined symbols. 2003-01-11 22:48:42 +00:00
Eric Pouech 9957754bd8 Removed emacs edition flavor (it's now a console attribute). 2003-01-09 06:00:09 +00:00
Dan Kegel 0fd521fee3 Change RECT to use LONG to match win32 standard headers and fix format
strings to use %ld for RECT elements.
2003-01-08 21:09:25 +00:00
Eric Pouech fde8806673 Fixed protocol packet handling when winedbg is too slow to answer. 2003-01-07 19:45:40 +00:00
Eric Pouech 9ca4119688 Fixed some bugs in cast operator. 2003-01-05 20:38:05 +00:00
Eric Pouech d1ae001774 Fixed a few issues with the gdb proxy. 2002-12-16 22:10:34 +00:00
Alexandre Julliard f9875bc1ca Added y.tab.[ch] pseudo-dependencies to fix parallel makes. 2002-12-15 01:19:53 +00:00
Dimitrie O. Paun 737d4be892 Move excpt.h out of include/msvcrt/ as it does not conflict with any
standard Unix header.
2002-12-12 23:34:01 +00:00
Vincent Béron b1b696b058 Change CRLF end of lines in LF only. 2002-11-30 19:07:29 +00:00
Eric Pouech 6c963cad4e Actually exit loop on '\0' while printing a string. 2002-11-13 04:07:46 +00:00
Eric Pouech dfbaa901c2 Replaced assert by simple if + warning message for too long symbols. 2002-11-06 19:55:04 +00:00
Lionel Ulmer bdb44555a3 Raise an exception if any Wine or Winelib code does an assert. 2002-10-28 23:56:58 +00:00
Jeff Smith 97a4384dc0 Fixed behaviour of "x /s ...". 2002-10-25 19:01:32 +00:00
Gerald Pfeifer 28a7d3cbf0 Silence warning in hex_from0(). 2002-10-15 02:19:06 +00:00