Commit graph

80 commits

Author SHA1 Message Date
Eric Pouech 8cbf27659b winedbg: Fix main module detection in 'info share' command.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-22 21:50:55 +01:00
Bernhard Übelacker b0db6cfd4d winedbg: Retrieve module architecture before sorting.
This should avoid getting i386 when the process really is x86_64,
with just a single i386 module loaded.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56048
2023-12-19 21:41:02 +01:00
Eric Pouech 60108ea1bc dbghelp: Pretend mach-o is present in case of failure.
On MacOs, starting with Big Sur 11.0.1, the system dynamic
libraries are no longer directly accessible on disk.
They are still available through dlopen and friends. For getting
access to the images (and their debug symbol), Apple provides,
in the developper kit, the tools to extract the files. Note that
this is handled as a database of all system libraries, where ASLR
is in place such that segments of a given library are no longer
contiguous in memory (dbghelp doesn't currently handle this).

Apart from not having image information nor debug information,
another side effect is that dbghelp tries every time it refreshes the
mach-o module list to reload any library for which it didn't have
an image file. This can be lengthy (esp when a typical process has
more than 300 modules loaded).

This patch forces the creation of the dbghelp module even if the
image file isn't found.

This patch cuts startup time of 'winedbg notepad' from 9.9 to 7.4s.
YMMV.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-16 20:56:07 +01:00
Eric Pouech 01c98c5eaf dbghelp: Expose PE native vs builtin information to winedbg.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-16 20:56:07 +01:00
Eric Pouech 8d75739b6a dbghelp: No longer decorate ELF/Mach-O module names.
Rely solely on extended module information.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-16 20:56:04 +01:00
Eric Pouech c50e02ec9c dbghelp: Expose some internal information about modules to winedbg.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-16 20:56:03 +01:00
Eric Pouech 7ada0e2239 winedbg: Add 'info system' command.
Letting the information displayed in '--auto' mode be available
as a command.
Simplify a bit the --auto mode handling.

Note:
- the WOW64 status of the debuggee used to be printed in system
  information, which is a bit ackward as system info shouldn't be
  tied to a given process.
- replaced it with supported guest machines (for the record, a
  64-bit only setup incorrectly returns i386 as supported guest;
  I guess we shouldn't care).
- now printing the wow64 status of a process when displaying an
  exception information instead.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-07-07 12:19:42 +02:00
Eric Pouech 71dbcbce26 winedbg: Handle multi-machine process in command 'info share'.
- filter out native machine on wow64 configuration.
- add option to info share to print all modules.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-06 22:34:44 +01:00
Brendan Shanks f89c8be852 winedbg: Prefer thread name from GetThreadDescription() in 'info thread' listing. 2022-07-27 23:07:06 +02:00
Eric Pouech 890e3baaba winedbg: Use CRT allocation functions.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-07-25 11:22:18 +02:00
Eric Pouech 674ef559e0 winedbg: Do proper error management when reallocating memory.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-07-25 11:22:12 +02:00
Eric Pouech f8d3c2b203 winedbg: No longer hide current WineDbg process from 'info proc'.
We used to hide current WineDbg instance when displaying processes' list
(command 'info proc'). This can potentially generate some "dangling"
processes in the hierarchy (related to this WineDbg instance):
- conhost.exe
- start.exe (when launched from unix shell without full path
  to winedbg.exe)

Also, print a more comprehensive error message when trying to attach to
itself (now that debugger's PID is more easily available).

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-29 23:23:41 +02:00
Eric Pouech fd886c726d winedbg: Use Unicode APIs for process/thread enumeration.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-21 11:43:17 +01:00
Brendan Shanks b2d9fbd578 winedbg: Print thread names in 'info thread' listing.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-01 22:41:15 +01:00
Eric Pouech b0319099d0 winedbg: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-07 10:59:53 +01:00
Eric Pouech 07502a0646 winedbg: Replace wine_dbgstr_longlong with I64 width modifier.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-26 22:08:54 +01:00
Eric Pouech d65edd04cc winedbg: Use I width modifier for DWORD_PTR printf's args.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-26 22:08:54 +01:00
Eric Pouech 01ddc2f8e4 winedbg: Use proper width when printing addresses with leading 0.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-12 18:41:06 +02:00
Eric Pouech 3a869c1f9b winedbg: Simplify some printing of addresses.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-12 18:41:01 +02:00
Alexandre Julliard 97479d3d32 ntdll: Move some exception definitions to winternl.h.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 13:52:42 +02:00
Alexandre Julliard 0ea9fe999c winedbg: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 15:20:56 +02:00
Eric Pouech 0646e15665 winedbg: Show dwarf version(s) used for a module.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:06:55 +02:00
Eric Pouech 6c91e61c40 winedbg: Correct mapping read/write/execute information.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-02 20:48:23 +02:00
Rémi Bernon da3be6b0b6 ntdll: Print a warning or an error for other exceptions.
Depending on EH_NONCONTINUABLE.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-08 11:04:17 +01:00
Nikolay Sivov 51fbcc0c23 winedbg: Double dll name buffer size for unimplemented function exception.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 12:57:09 +02:00
Damjan Jovanovic 8c52c17a08 winedbg: Allow changing the current thread.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-18 22:14:53 +01:00
Alistair Leslie-Hughes 101820d01a dbghelp: Use internal flag for loading native files.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-10 12:29:30 +02:00
Alexandre Julliard 2a64e751e3 winedbg: Fix incorrect pointer casts.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-14 18:24:46 +01:00
Zebediah Figura 42bbeedbe4 winedbg: Make be_cpu process-specific.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-13 22:13:27 +02:00
Alexandre Julliard 39b1384e78 winedbg: Remove support for vm86 exceptions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-02 14:42:38 +01:00
Nikolay Sivov 1afb6d3f99 winedbg: Use longer module names when printing module list.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-01 22:24:56 +01:00
Nikolay Sivov 840ebb9833 winedbg: Remove some unnecessary pointer casts.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-30 20:42:08 +01:00
Daniel Lehman 26b37c40e7 winedbg: Handle the 4th parameter for 64-bit C++ exceptions.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-26 19:54:17 +09:00
Frédéric Delanoy 903562e104 winedbg: Use consistently wpid in documentation. 2013-09-02 19:26:59 +02:00
Marcus Meissner 45eeeb00f3 winedbg: Free snapshot handle in error path (Coverity). 2013-01-07 11:14:09 +01:00
Eric Pouech 00b6d8ebb1 winedbg: In 'info proc' command, list hierarchy of processus, and get rid of printing parent pid. 2013-01-02 13:10:44 +01:00
André Hentschel 3ea13c9c49 winedbg: Increase buffer for function names. 2011-06-01 16:07:32 +02:00
Peter Schlaile 95a3cd8e30 winedbg: Adds an rwatch command to winedbg. 2010-12-06 12:21:16 +01:00
Eric Pouech 78cf0961e9 winedbg: Moved into a common function all code dealing with printing information about an exception, and use this function to implement new 'info exception' command. 2010-11-23 14:16:22 +01:00
Eric Pouech 9261ef2d0a winedbg: Rename 'info exception' into 'info frame' (which is somehow closer to what it does). 2010-11-23 14:16:22 +01:00
Andrew Eikum d3f80c1e9f winedbg: Allow user to specify length of stack info output. 2010-05-25 12:14:00 +02:00
Eric Pouech 280259aaca winedbg: In "info threads" commands, also show the name of the processes even if not debugged. 2009-12-30 16:15:20 +01:00
Eric Pouech ab2e0bdef6 winedbg: Added a couple of tweaks to properly support 32bit vs 64bit wide addresses. 2009-12-14 12:30:33 +01:00
Eric Pouech 97d44dd399 dbghelp: Force 64bit module enumeration on all platforms. 2009-12-14 12:29:43 +01:00
Alexandre Julliard ec73f0b71a winedbg: Fix a number of 64-bit pointer truncation issues. 2009-12-10 15:23:45 +01:00
Alexandre Julliard c09ac7a41f winedbg: Use the explicit name for all A/W function. 2009-12-09 18:14:07 +01:00
Dylan Smith 81c9b3a105 winedbg: Correct header for virtual memory mapping for end address.
The virtual memory mapping info retrieved by the command "info maps" has
the end address in the second column, even though the title for the
column says "Size".
2009-08-17 14:42:23 +02:00
Michael Stefaniuc 2e6ac3a571 winedbg: Remove some superfluous pointer casts. 2009-04-21 13:16:33 +02:00
Eric Pouech 5c8ad49158 winedbg: Use Unicode strings for all module references. 2008-10-20 13:52:44 +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