Action name: SetupDebugger
This dialog box allows to specify different settings related to the debugger.
Events
- Suspend on debugging start
If selected, the debugger will suspend directly once the debugging
starts.
- Evaluate event condition on exit
If selected, the debugger will evaluate the event condition immediately
before closing the debugging session (once we receive PROCESS_EXITED or
PROCESS_DETACHED event)
- Suspend on process entry point
If selected, the debugger will insert a temporary breakpoint
at the main entry point of the debugged application.
- Suspend on thread start/exit
If selected, the debugger will suspend if a new thread starts
or if an existing thread terminates.
- Suspend on library load/unload
If selected, the debugger will suspend if a new library is
loaded or if a previously loaded library is unloaded.
- Suspend on debugging message
If selected, the debugger will suspend if the debugged application
generates a message destined to the debugger.
Event condition
When one or more debug events (see above) are checked then this
option is used to specify a condition. In the following example,
the debugger will suspend the process whenever a module with the
name test.dll is loaded:
get_event_id() == LIB_LOADED && strstr(get_event_module_name(), "test.dll") != -1
Log
- Segment modifications
If selected, the debugger will print information regarding
segment modifications (creation, deletion, or resizing of
segments) since the last event. Note that the debugger
doesn't continuously track segment modifications, but detects
those only if a debugging event occurs.
- Thread start/exit
If selected, the debugger will print a message if a new thread
starts or if an existing thread terminates.
- Library load/unload
if Selected, the debugger will print a message if a new library is
loaded or if a previously loaded library is unloaded.
- Breakpoint
If selected, the debugger will print a message if the debugged process
reaches a breakpoint.
- Debugging message
If selected, the debugger will print debugging messages from
the application.
Options
- Reconstruct the stack
If selected, the debugger will try to reconstruct the chain of stack frames, based on information available on the stack and in the function stack variables.
- Show debugger breakpoint instructions
If selected, the debugger will show breakpoint instructions inserted
by the debugger itself. This function is mainly useful if the user
wants to see the real content of the memory.
- Use hardware temporary breakpoints
If selected, IDA will try to use hardware breakpoints for the temporary
breakpoints used to implement the "step over" and "run to" functionality.
This feature is useful when debugging read-only or self-modifying code,
since it does not change the contents of the memory.
IDA will fall back to software breakpoints if the attempt to set a
hardware breakpoint fails.
- Autoload PDB files
If selected, IDA will invoke the PDB plugin to try to load PDB symbols
for every new module loaded into process.
- Set as just-in-time debugger
If changed from off to on, IDA will try to register itself as a
just-in-time debugger (invoked by the system in case of application
crashes) on dialog close.
Edit exceptions This button allows the user to setup how the debugger will react to specific exceptions. Reload exceptions
This button reloads the exception table from the exceptions.cfg
file.
See also Debugger submenu.