summaryrefslogtreecommitdiffstatshomepage
path: root/docs/source/debugger
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2021-10-18 08:22:21 +1100
committer Vas Crabb <vas@vastheman.com>2021-10-18 08:22:21 +1100
commit40a30af10f05f6567f717e4d1004f7bae01b85a2 (patch)
tree13990300ff0940a5195192a6d76a55df58fa5c5a /docs/source/debugger
parent0a82b82684115f7d5334e65cef8c4297a50c4e19 (diff)
Still more user experience improvements:
Changed the default mapping for UI select to not trigger on Alt+Enter fullscreen toggle. (Fullscreen toggle still doesn't work in menus - actually fixing that is complicated.) frontend: Made the about box wrap text properly, made the title and backtrack menu item always visible, and added a footer with the VCS revision. frontend: Don't highlight the favourites and info toolbar buttons if there's no selection (can happen if filters produce no results). Also made the info viewer appear even if no info is available - it's less confusing to see an empty menu than wonder why clicking the button does nothing. debugger: Added a register points view to the GUI debuggers, to go with the breakpoints and watchpoints views. debugger: Extended [brw]p(clear|(en|dis)able) commands to accept multiple arguments to perform the same action on multiple (break|watch|register)points at once. Also made rplist accept a CPU for showing a single CPU's register points ([bw]plist already support this). docs: Updated registerpoints debugger commands page, and updated other pages for latest extensions to syntax.
Diffstat (limited to 'docs/source/debugger')
-rw-r--r--docs/source/debugger/breakpoint.rst18
-rw-r--r--docs/source/debugger/execution.rst4
-rw-r--r--docs/source/debugger/general.rst10
-rw-r--r--docs/source/debugger/memory.rst4
-rw-r--r--docs/source/debugger/registerpoints.rst212
-rw-r--r--docs/source/debugger/watchpoint.rst18
6 files changed, 146 insertions, 120 deletions
diff --git a/docs/source/debugger/breakpoint.rst b/docs/source/debugger/breakpoint.rst
index 1e61157c854..5dbf6c4effe 100644
--- a/docs/source/debugger/breakpoint.rst
+++ b/docs/source/debugger/breakpoint.rst
@@ -75,10 +75,10 @@ Back to :ref:`debugger-breakpoint-list`
bpclear
-------
-**bpclear [<bpnum>]**
+**bpclear [<bpnum>[,…]]**
-Clear breakpoints. If **<bpnum>** is specified, the breakpoint it
-refers to will be cleared. If **<bpnum>** is not specified, all
+Clear breakpoints. If **<bpnum>** is specified, the breakpoints
+referred to will be cleared. If **<bpnum>** is not specified, all
breakpoints will be cleared.
Examples:
@@ -96,10 +96,10 @@ Back to :ref:`debugger-breakpoint-list`
bpdisable
---------
-**bpdisable [<bpnum>]**
+**bpdisable [<bpnum>[,…]]**
-Disable breakpoints. If **<bpnum>** is specified, the breakpoint it
-refers to will be disabled. If **<bpnum>** is not specified, all
+Disable breakpoints. If **<bpnum>** is specified, the breakpoints
+referred to will be disabled. If **<bpnum>** is not specified, all
breakpoints will be disabled.
Note that disabling a breakpoint does not delete it, it just temporarily
@@ -122,10 +122,10 @@ Back to :ref:`debugger-breakpoint-list`
bpenable
--------
-**bpenable [<bpnum>]**
+**bpenable [<bpnum>[,…]]**
-Enable breakpoints. If **<bpnum>** is specified, the breakpoint it
-refers to will be enabled. If **<bpnum>** is not specified, all
+Enable breakpoints. If **<bpnum>** is specified, the breakpoint
+referred to will be enabled. If **<bpnum>** is not specified, all
breakpoints will be enabled.
Examples:
diff --git a/docs/source/debugger/execution.rst b/docs/source/debugger/execution.rst
index cfcfede1c87..8a99f52f85a 100644
--- a/docs/source/debugger/execution.rst
+++ b/docs/source/debugger/execution.rst
@@ -285,7 +285,7 @@ Back to :ref:`debugger-execution-list`
ignore
------
-**ignore [<CPU>[,<CPU>[,...]]]**
+**ignore [<CPU>[,<CPU>[,…]]]**
Ignores the specified CPUs in the debugger. CPUs can be specified by
tag or debugger CPU number (see :ref:`debugger-devicespec` for details).
@@ -316,7 +316,7 @@ Back to :ref:`debugger-execution-list`
observe
-------
-**observe [<CPU>[,<CPU>[,...]]]**
+**observe [<CPU>[,<CPU>[,…]]]**
Allow interaction with the specified CPUs in the debugger. CPUs can be
specified by tag or debugger CPU number (see :ref:`debugger-devicespec`
diff --git a/docs/source/debugger/general.rst b/docs/source/debugger/general.rst
index 9d7d206117e..4edc1b413fb 100644
--- a/docs/source/debugger/general.rst
+++ b/docs/source/debugger/general.rst
@@ -159,7 +159,7 @@ Back to :ref:`debugger-general-list`
print
-----
-**print <item>[,...]**
+**print <item>[,…]**
The **print** command prints the results of one or more expressions to
the debugger console as hexadecimal numbers.
@@ -180,7 +180,7 @@ Back to :ref:`debugger-general-list`
printf
------
-**printf <format>[,<argument>[,...]]**
+**printf <format>[,<argument>[,…]]**
Prints a C-style formatted message to the debugger console. Only a
very limited subset of format specifiers and escape sequences are
@@ -223,7 +223,7 @@ Back to :ref:`debugger-general-list`
logerror
--------
-**logerror <format>[,<argument>[,...]]**
+**logerror <format>[,<argument>[,…]]**
Prints a C-style formatted message to the error log. See
:ref:`debugger-command-printf` for details about the limited set of
@@ -246,7 +246,7 @@ Back to :ref:`debugger-general-list`
tracelog
--------
-**tracelog <format>[,<argument>[,...]]**
+**tracelog <format>[,<argument>[,…]]**
Prints a C-style formatted message to the currently open trace file (see
:ref:`debugger-command-trace` for more information). If no trace file
@@ -272,7 +272,7 @@ Back to :ref:`debugger-general-list`
tracesym
--------
-**tracesym <item>[,...]**
+**tracesym <item>[,…]**
Prints the specified symbols to the currently open trace file (see
:ref:`debugger-command-trace` for more information). If no trace file
diff --git a/docs/source/debugger/memory.rst b/docs/source/debugger/memory.rst
index da3645a6d1e..9988d24551e 100644
--- a/docs/source/debugger/memory.rst
+++ b/docs/source/debugger/memory.rst
@@ -64,7 +64,7 @@ Back to :ref:`debugger-memory-list`
find
----
-**f[ind][{d|i|o}] <address>[:<space>],<length>[,<data>[,...]]**
+**f[ind][{d|i|o}] <address>[:<space>],<length>[,<data>[,…]]**
Search through memory for the specified sequence of data. The
**<address>** is the address to begin searching from, optionally
@@ -113,7 +113,7 @@ Back to :ref:`debugger-memory-list`
fill
----
-**fill[{d|i|o}] <address>[:<space>],<length>[,<data>[,...]]**
+**fill[{d|i|o}] <address>[:<space>],<length>[,<data>[,…]]**
Overwrite a block of memory with copies of the supplied data sequence.
The **<address>** specifies the address to begin writing at, optionally
diff --git a/docs/source/debugger/registerpoints.rst b/docs/source/debugger/registerpoints.rst
index 355a31c29eb..e228208e600 100644
--- a/docs/source/debugger/registerpoints.rst
+++ b/docs/source/debugger/registerpoints.rst
@@ -1,120 +1,146 @@
.. _debugger-registerpoints-list:
-Registerpoints Debugger Commands
+Registerpoint Debugger Commands
================================
+:ref:`debugger-command-rpset`
+ sets a registerpoint to trigger on a condition
+:ref:`debugger-command-rpclear`
+ clears registerpoints
+:ref:`debugger-command-rpdisable`
+ disables a registerpoint
+:ref:`debugger-command-rpenable`
+ enables registerpoints
+:ref:`debugger-command-rplist`
+ lists registerpoints
-You can also type **help <command>** for further details on each command in the MAME Debugger interface.
-| :ref:`debugger-command-rpset` -- sets a registerpoint to trigger on <condition>
-| :ref:`debugger-command-rpclear` -- clears a given registerpoint or all if no <rpnum> specified
-| :ref:`debugger-command-rpdisable` -- disabled a given registerpoint or all if no <rpnum> specified
-| :ref:`debugger-command-rpenable` -- enables a given registerpoint or all if no <rpnum> specified
-| :ref:`debugger-command-rplist` -- lists all the registerpoints
+.. _debugger-command-rpset:
+rpset
+-----
+**rp[set] <condition>[,<action>]**
- .. _debugger-command-rpset:
+Sets a new registerpoint which will be triggered when the expression
+supplied as the **<condition>** evaluates to true (non-zero). Note that
+the condition may need to be surrounded with braces ``{ }`` to prevent
+it from being interpreted as an assignment. The optional **<action>**
+parameter provides a command to be executed whenever the registerpoint
+is triggered. Note that you may need to surround the action with braces
+``{ }`` to ensure commas and semicolons within the command are not
+interpreted in the context of the ``rpset`` command itself.
+
+Each registerpoint that is set is assigned a numeric index which can be
+used to refer to it in other registerpoint commands. Registerpoint
+indices are unique throughout a session.
+
+Examples:
+
+``rp {PC==150}``
+ Set a registerpoint that will halt execution whenever the **PC**
+ register equals 150.
+``temp0=0; rp {PC==150},{temp0++; g}``
+ Set a registerpoint that will increment the variable **temp0**
+ whenever the **PC** register equals 150.
+``rp {temp0==5}``
+ Set a registerpoint that will halt execution whenever the **temp0**
+ variable equals 5.
+
+Back to :ref:`debugger-registerpoints-list`
-rpset
------
-| **rp[set] {<condition>}[,<action>]]**
-|
-| Sets a new registerpoint which will be triggered when <condition> is met. The condition must be specified between curly braces to prevent the condition from being evaluated as an assignment.
-| The optional <action> parameter provides a command that is executed whenever the registerpoint is hit. 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 rpset command itself.
-| Each registerpoint that is set is assigned an index which can be used in other registerpoint commands to reference this registerpoint.
-|
-| Examples:
-|
-| rp {PC==0150}
-|
-| Set a registerpoint that will halt execution whenever the PC register equals 0x150.
-|
-| temp0=0; rp {PC==0150},{temp0++; g}
-|
-| Set a registerpoint that will increment the variable temp0 whenever the PC register equals 0x0150.
-|
-| rp {temp0==5}
-|
-| Set a registerpoint that will halt execution whenever the temp0 variable equals 5.
-|
-| Back to :ref:`debugger-registerpoints-list`
-
-
- .. _debugger-command-rpclear:
+.. _debugger-command-rpclear:
rpclear
-------
-| **rpclear [<rpnum>]**
-|
-| The rpclear command clears a registerpoint. If <rpnum> is specified, only the requested registerpoint is cleared, otherwise all registerpoints are cleared.
-|
-| Examples:
-|
-| rpclear 3
-|
-| Clear registerpoint index 3.
-|
-| rpclear
-|
-| Clear all registerpoints.
-|
-| Back to :ref:`debugger-registerpoints-list`
-
-
- .. _debugger-command-rpdisable:
+**rpclear [<rpnum>,[,…]]**
+
+Clears registerpoints. If **<rpnum>** is specified, the registerpoints
+referred to will be cleared. If **<rpnum>** is not specified, all
+registerpoints will be cleared.
+
+Examples:
+
+``rpclear 3``
+ Clear the registerpoint with index 3.
+``rpclear``
+ Clear all registerpoints.
+
+Back to :ref:`debugger-registerpoints-list`
+
+
+.. _debugger-command-rpdisable:
rpdisable
---------
-| **rpdisable [<rpnum>]**
-|
-| The rpdisable command disables a registerpoint. If <rpnum> is specified, only the requested registerpoint is disabled, otherwise all registerpoints are disabled. Note that disabling a registerpoint does not delete it, it just temporarily marks the registerpoint as inactive.
-|
-| Examples:
-|
-| rpdisable 3
-|
-| Disable registerpoint index 3.
-|
-| rpdisable
-|
-| Disable all registerpoints.
-|
-| Back to :ref:`debugger-registerpoints-list`
-
-
- .. _debugger-command-rpenable:
+**rpdisable [<rpnum>[,…]]**
+
+Disables registerpoints. If **<rpnum>** is specified, the
+registerpoints referred to will be disabled. If **<rpnum>** is not
+specified, all registerpoints will be disabled.
+
+Note that disabling a registerpoint does not delete it, it just
+temporarily marks the registerpoint as inactive. Disabled
+registerpoints will not cause execution to halt, their condition
+expressions will not be evaluated, and their associated commands will
+not be executed.
+
+Examples:
+
+``rpdisable 3``
+ Disable the registerpoint with index 3.
+``rpdisable``
+ Disable all registerpoints.
+
+Back to :ref:`debugger-registerpoints-list`
+
+
+.. _debugger-command-rpenable:
rpenable
--------
-| **rpenable [<rpnum>]**
-|
-| The rpenable command enables a registerpoint. If <rpnum> is specified, only the requested registerpoint is enabled, otherwise all registerpoints are enabled.
-|
-| Examples:
-|
-| rpenable 3
-|
-| Enable registerpoint index 3.
-|
-| rpenable
-|
-| Enable all registerpoints.
-|
-| Back to :ref:`debugger-registerpoints-list`
-
-
- .. _debugger-command-rplist:
+**rpenable [<rpnum>[,…]]**
+
+Enables registerpoints. If **<rpnum>** is specified, the registerpoints
+referred to will be enabled. If **<rpnum>** is not specified, all
+registerpoints will be enabled.
+
+Examples:
+
+``rpenable 3``
+ Enable the registerpoint with index 3.
+``rpenable``
+ Enable all registerpoints.
+
+Back to :ref:`debugger-registerpoints-list`
+
+
+.. _debugger-command-rplist:
rplist
------
-| **rplist**
-|
-| The rplist command lists all the current registerpoints, along with their index and any actions attached to them.
-|
-| Back to :ref:`debugger-registerpoints-list`
+**rplist [<CPU>]**
+
+List current registerpoints, along with their indices and conditions,
+and any associated actions actions. If no **<CPU>** is specified,
+registerpoints for all CPUs in the system will be listed; if a **<CPU>**
+is specified, only registerpoints for that CPU will be listed. The
+**<CPU>** can be specified by tag or by debugger CPU number (see
+:ref:`debugger-devicespec` for details).
+
+Examples:
+
+``rplist``
+ List all registerpoints.
+``rplist .``
+ List all registerpoints for the visible CPU.
+``rplist maincpu``
+ List all registerpoints for the CPU with the absolute tag path
+ ``:maincpu``.
+
+Back to :ref:`debugger-registerpoints-list`
diff --git a/docs/source/debugger/watchpoint.rst b/docs/source/debugger/watchpoint.rst
index d9270f13699..c34006f8a5f 100644
--- a/docs/source/debugger/watchpoint.rst
+++ b/docs/source/debugger/watchpoint.rst
@@ -83,10 +83,10 @@ Back to :ref:`debugger-watchpoints-list`
wpclear
-------
-**wpclear [<wpnum>]**
+**wpclear [<wpnum>[,…]]**
-Clear watchpoints. If **<wpnum>** is specified, the watchpoint it
-refers to will be cleared. If **<wpnum>** is not specified, all
+Clear watchpoints. If **<wpnum>** is specified, the watchpoints
+referred to will be cleared. If **<wpnum>** is not specified, all
watchpoints will be cleared.
Examples:
@@ -104,10 +104,10 @@ Back to :ref:`debugger-watchpoints-list`
wpdisable
---------
-**wpdisable [<wpnum>]**
+**wpdisable [<wpnum>[,…]]**
-Disable watchpoints. If **<wpnum>** is specified, the watchpoint it
-refers to will be disabled. If **<wpnum>** is not specified, all
+Disable watchpoints. If **<wpnum>** is specified, the watchpoints
+referred to will be disabled. If **<wpnum>** is not specified, all
watchpoints will be disabled.
Note that disabling a watchpoint does not delete it, it just temporarily
@@ -130,10 +130,10 @@ Back to :ref:`debugger-watchpoints-list`
wpenable
--------
-**wpenable [<wpnum>]**
+**wpenable [<wpnum>[,…]]**
-Enable watchpoints. If **<wpnum>** is specified, the watchpoint it
-refers to will be enabled. If **<wpnum>** is not specified, all
+Enable watchpoints. If **<wpnum>** is specified, the watchpoints
+referred to will be enabled. If **<wpnum>** is not specified, all
watchpoints will be enabled.
Examples: