mirror of
https://github.com/mamedev/mame.git
synced 2024-11-16 07:48:32 +01:00
d8d588262d
- Added exception points as a new class of "points" triggering on specific exception numbers, with a similar set of commands to breakpoints and registerpoints. - Removed the per-instruction callback hook from device_debug. Only one driver was using this (rmnimbus.cpp), and what it was doing with it could be done more cleanly with exception points. - Change the type of the action string parameter for "points"-creating methods and make some parameters optional for those. - Change trace file logging to use a std::ostream instead of FILE * to take better advantage of strformat.
134 lines
3.4 KiB
ReStructuredText
134 lines
3.4 KiB
ReStructuredText
.. _debugger-exceptionpoint-list:
|
|
|
|
Exception Point Debugger Commands
|
|
=================================
|
|
|
|
:ref:`debugger-command-epset`
|
|
sets a new exception point
|
|
:ref:`debugger-command-epclear`
|
|
clears a specific exception point or all exception points
|
|
:ref:`debugger-command-epdisable`
|
|
disables a specific exception point or all exception points
|
|
:ref:`debugger-command-epenable`
|
|
enables a specific exception point or all exception points
|
|
:ref:`debugger-command-eplist`
|
|
lists exception points
|
|
|
|
Exception points halt execution and activate the debugger when
|
|
a CPU raises a particular exception number.
|
|
|
|
|
|
.. _debugger-command-epset:
|
|
|
|
epset
|
|
-----
|
|
|
|
**ep[set] <type>[,<condition>[,<action>]]**
|
|
|
|
Sets a new exception point for exceptions of type **<type>**. The
|
|
optional **<condition>** parameter lets you specify an expression that
|
|
will be evaluated each time the exception point is hit. If the result
|
|
of the expression is true (non-zero), the exception point will actually
|
|
halt execution at the start of the exception handler; otherwise,
|
|
execution will continue with no notification. The optional **<action>**
|
|
parameter provides a command that is executed whenever the exception
|
|
point is hit and the **<condition>** is true. Note that you may need to
|
|
embed the action within braces ``{ }`` in order to prevent commas and
|
|
semicolons from being interpreted as applying to the ``epset`` command
|
|
itself.
|
|
|
|
The numbering of exceptions depends upon the CPU type. Causes of
|
|
exceptions may include internally or externally vectored interrupts,
|
|
errors occurring within instructions and system calls.
|
|
|
|
Each exception point that is set is assigned an index which can be used
|
|
in other exception point commands to reference this exception point.
|
|
|
|
Examples:
|
|
|
|
``ep 2``
|
|
Set an exception that will halt execution whenever the visible CPU
|
|
raises exception number 2.
|
|
|
|
Back to :ref:`debugger-exceptionpoint-list`
|
|
|
|
|
|
.. _debugger-command-epclear:
|
|
|
|
epclear
|
|
-------
|
|
|
|
**epclear [<epnum>[,…]]**
|
|
|
|
The epclear command clears exception points. If **<epnum>** is
|
|
specified, only the requested exception points are cleared, otherwise
|
|
all exception points are cleared.
|
|
|
|
Examples:
|
|
|
|
``epclear 3``
|
|
Clear exception point index 3.
|
|
|
|
``epclear``
|
|
Clear all exception points.
|
|
|
|
Back to :ref:`debugger-exceptionpoint-list`
|
|
|
|
|
|
.. _debugger-command-epdisable:
|
|
|
|
epdisable
|
|
---------
|
|
|
|
**epdisable [<epnum>[,…]]**
|
|
|
|
The epdisable command disables exception points. If **<epnum>** is
|
|
specified, only the requested exception points are disabled, otherwise
|
|
all exception points are disabled. Note that disabling an exception
|
|
point does not delete it, it just temporarily marks the exception
|
|
point as inactive.
|
|
|
|
Examples:
|
|
|
|
``epdisable 3``
|
|
Disable exception point index 3.
|
|
|
|
``epdisable``
|
|
Disable all exception points.
|
|
|
|
Back to :ref:`debugger-exceptionpoint-list`
|
|
|
|
|
|
.. _debugger-command-epenable:
|
|
|
|
epenable
|
|
--------
|
|
|
|
**epenable [<epnum>[,…]]**
|
|
|
|
The epenable command enables exception points. If **<epnum>** is
|
|
specified, only the requested exception points are enabled, otherwise
|
|
all exception points are enabled.
|
|
|
|
Examples:
|
|
|
|
``epenable 3``
|
|
Enable exception point index 3.
|
|
|
|
``epenable``
|
|
Enable all exception points.
|
|
|
|
Back to :ref:`debugger-exceptionpoint-list`
|
|
|
|
|
|
.. _debugger-command-eplist:
|
|
|
|
eplist
|
|
------
|
|
|
|
**eplist**
|
|
|
|
The eplist command lists all the current exception points, along with
|
|
their index and any conditions or actions attached to them.
|
|
|
|
Back to :ref:`debugger-exceptionpoint-list`
|