21.1.5 Features for Debugging MS Windows PE Executables
gdb supports native debugging of MS Windows programs, including
DLLs with and without symbolic debugging information. There are various
additional Cygwin-specific commands, described in this section.
Working with DLLs that have no debugging symbols is described in
Non-debug DLL Symbols.
info w32
- This is a prefix of MS Windows-specific commands which print
information about the target system and important OS structures.
info w32 selector
- This command displays information returned by
the Win32 API
GetThreadSelectorEntry
function.
It takes an optional argument that is evaluated to
a long value to give the information about this given selector.
Without argument, this command displays information
about the six segment registers.
info dll
- This is a Cygwin-specific alias of
info shared
.
dll-symbols
- This command loads symbols from a dll similarly to
add-sym command but without the need to specify a base address.
set cygwin-exceptions
mode- If mode is
on
, gdb will break on exceptions that
happen inside the Cygwin DLL. If mode is off
,
gdb will delay recognition of exceptions, and may ignore some
exceptions which seem to be caused by internal Cygwin DLL
“bookkeeping”. This option is meant primarily for debugging the
Cygwin DLL itself; the default value is off
to avoid annoying
gdb users with false SIGSEGV
signals.
show cygwin-exceptions
- Displays whether gdb will break on exceptions that happen
inside the Cygwin DLL itself.
set new-console
mode- If mode is
on
the debuggee will
be started in a new console on next start.
If mode is off
i, the debuggee will
be started in the same console as the debugger.
show new-console
- Displays whether a new console is used
when the debuggee is started.
set new-group
mode- This boolean value controls whether the debuggee should
start a new group or stay in the same group as the debugger.
This affects the way the Windows OS handles
‘Ctrl-C’.
show new-group
- Displays current value of new-group boolean.
set debugevents
- This boolean value adds debug output concerning kernel events related
to the debuggee seen by the debugger. This includes events that
signal thread and process creation and exit, DLL loading and
unloading, console interrupts, and debugging messages produced by the
Windows
OutputDebugString
API call.
set debugexec
- This boolean value adds debug output concerning execute events
(such as resume thread) seen by the debugger.
set debugexceptions
- This boolean value adds debug output concerning exceptions in the
debuggee seen by the debugger.
set debugmemory
- This boolean value adds debug output concerning debuggee memory reads
and writes by the debugger.
set shell
- This boolean values specifies whether the debuggee is called
via a shell or directly (default value is on).
show shell
- Displays if the debuggee will be started with a shell.