5个不稳定版本
0.3.0 | 2020年5月10日 |
---|---|
0.2.1 | 2019年12月24日 |
0.2.0 | 2019年12月22日 |
0.1.1 | 2019年12月22日 |
0.1.0 | 2019年12月13日 |
#250 in 模拟器
390KB
9K SLoC
Olympia CLI
用于与Olympia模拟器交互的终端用户界面。
CLI命令
debug
用法
olympia_cli debug<rom>
为给定的ROM打开一个交互式调试会话。在提示符下输入help
以查看调试器中可用的命令列表,或向下滚动到Debugger Commands
。
rom-info
用法
olympia_cli rom-info<rom>
打印出有关给定ROM的已知信息。目前限于控制器类型、RAM大小和ROM大小。
disassemble
用法
olympia_cli disassemble[-v] <rom>
打印出给定ROM的反汇编。
如果指定了详细(-v
)标志,则每行将包含一个地址、操作码的数值和文本值。如果未指定该标志,则每10行将包含一个地址标签,并且每行将包含操作的文本值。
常用调试器命令
step
用法
step <n>
/ s <n>
按给定数量的指令向前执行。
exit
用法
exit
退出此调试会话和CLI。
help
用法
help
打印出调试提示符的用法说明。
print-bytes
用法
print-bytes 1:100
/ pb 1:100
打印出从十进制1到十进制100的字节。
print-bytes:0x100
打印出从0到十六进制100的字节。
print-bytes0xFFE0:
打印出从0xFFE0到0xFFFF的字节。
print-bytes header
打印命名区域中的字节 header
。其他选项包括 staticrom
、switchrom
、vram
、cartram
、sysram
、cpuram
。
注意,对于 RAM 小于 0x2000 字节或 ROM 小于 0x8000 字节的卡带,地址空间中不会全部填充。在调试器中,受影响的地址将显示为 --
。尝试在真实游戏机硬件上读取此区域的游戏将会有未定义的行为。
print-registers
用法
print-registers
/ pr
打印所有寄存器的值。F(标志)寄存器被拆分出来以显示各个标志。
其他调试器命令
current
用法
current
/ ci
打印当前指令的汇编代码。
cycle-count
用法
cycle-count
/ cc
打印自仿真器启动以来经过的总时钟周期数。这主要用于性能测量或仿真器调试。
依赖
~3MB
~49K SLoC