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>
This also correctly initialize some lvalue.
Context of the bug has changed, but the underlying issue remained the same.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39495
Signed-off-by: Eric Pouech <eric.pouech@codeweavers.com>
- 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>
No longer relying on loaded module info (getting index address out of
PE image, and caching it in struct dbg_module).
Co-authored-by: Evan Tang <etang@codeweavers.com>
Prints 'int a[10]' (instead of 'int[10] a').
Ditto for variables/fields of type function pointer.
And for pure type printing, no longer prints --none-- for
arrays and function pointers.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
This ensures that we always have a type as pointer to a known <type>
(either because it exists in <type>'s module, or it's synthetized inside
debugger).
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
- Get rid of struct type_expr_t
- Enable back typecasts (and rewrite the typecast to fit the type parsing scheme)
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Detect data model to be used with current debuggee
PE & ELF 32 bit => ILP32
PE 64 bit => LP64
ELF 64 bit => LLP64
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
(* as width or precision specifier in printf requires an int not a long)
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
All integer code assume CPU of debuggee encode integers:
- little endian
- 2 complement for signed integers.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
As a side effect, the internal 'long int' type is now always 8 byte wide.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This allows to simplify a bit the frame internal storage
(no longer using IMAGEHLP_STACK_FRAME structure).
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
The vCont handler used some overcomplicated logic, we only need to
iterate over the actions and apply them on the matching threads that
didn't match yet.
Thanks to DBG_REPLY_LATER we can now continue/step any thread regardless
of whether it is the one that raised the debug event. Just suspend all
active threads after debug event is raised and resume them one by one,
according to the gdb request. If the thread that raised the debug event
should not be resumed, reply with DBG_REPLY_LATER.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>