MAME模拟器debug帮助文档汉化五(断点调试器命令)

在这里插入图片描述

断点调试器命令

bpset

在 <address> 处设置断点

bpclear

清除指定断点或所有断点

bpdisable

禁用某个断点或所有断点

bpenable

启用一个特定断点或所有断点

bplist

lists breakpoints
列出断点

在 CPU 执行特定地址的指令之前,断点会停止执行并激活调试器。
bpset

bp[set] <address>[:<CPU>][,<condition>[,<action>]]

在指定的 <address> 处设置新的执行断点。<address> 后可选择加上冒号、标记或调试器 CPU 编号,以便为特定 CPU 设置断点。如果没有指定 CPU,则将为调试器中当前可见的 CPU 设置断点。

通过可选的 <condition> 参数,可以指定一个表达式,该表达式将在每次断点地址被击中时进行评估。如果表达式的结果为 true(非 0),断点将停止执行;否则,将继续执行,不会发出通知。可选的 <action> 参数提供了在断点被击中且 <condition> 为 true 时要执行的命令。请注意,您可能需要用大括号 { } 包围该命令,以确保命令中的逗号和分号不会在 bpset 命令本身的上下文中被解释。

设置的每个断点都会分配一个数字索引,用于在其他断点命令中引用。断点索引在整个会话中都是唯一的。

例:

bp 1234

为可见 CPU 设置一个断点,只要 PC 等于 1234,该断点就会停止执行。

bp 23456,a0 == 0 && a1 == 0

为可见 CPU 设置一个断点,只要 PC 等于 23456 且表达式 a0 == 0 && a1 == 0 为真,该断点就会停止执行。

bp 3456:audiocpu,1,{ printf “A0=%08X\n”,a0 ; g }

使用绝对标记路径 :audiocpu 为 CPU 设置一个断点,当 PC 等于 3456 时停止执行。当出现这种情况时,向调试器控制台打印 A0=<a0val> 并恢复执行。

bp 45678:2,a0==100,{ a0 = ff ; g }

在系统中的第三个 CPU 上设置一个断点(以零为索引),只要 PC 等于 45678 且表达式 a0 == 100 为真,该断点就会停止执行。当出现这种情况时,将 a0 设置为 ff 并恢复执行。

temp0 = 0 ; bp 567890,++temp0 >= 10

为可见 CPU 设置一个断点,只要 PC 等于 567890 且表达式 ++temp0 >= 10 为真,就停止执行。只有在断点被击中 16 次后,才会有效地中断执行。

bpclear

bpclear [<bpnum>[,…]]

清除断点。如果指定了 <bpnum>,将清除所指的断点。如果未指定 <bpnum>,则将清除所有断点。

例:

bpclear 3

清除索引为 3 的断点。

bpclear

清除所有断点。

bpdisable

bpdisable [<bpnum>[,…]]

禁用断点。如果指定了 <bpnum>,所指的断点将被禁用。如果未指定 <bpnum>,则将禁用所有断点。

请注意,禁用断点并不会删除断点,只是暂时将断点标记为非活动。禁用的断点不会导致执行停止,其相关的条件表达式不会被求值,其相关的命令也不会被执行。

例:

bpdisable 3

禁用索引为 3 的断点。

bpdisable

禁用所有断点。

bpenable

bpenable [<bpnum>[,…]]

启用断点。如果指定了 <bpnum>,将启用所指的断点。如果未指定 <bpnum>,则将启用所有断点。

Examples:
例:

bpenable 3

启用索引为 3 的断点。

bpenable

启用所有断点。

bplist

bplist [<CPU>]

列出当前断点及其索引和相关条件或操作。如果没有指定 <CPU>,则会列出系统中所有 CPU 的断点;如果指定了 <CPU>,则只会列出该 CPU 的断点。<CPU> 可以通过标签或调试器 CPU 编号指定(详见指定设备和地址空间)。

例:

bplist

列出所有断点

bplist .

列出可见 CPU 的所有断点。

bplist maincpu

以绝对标记路径 :maincpu 列出 CPU 的所有断点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值