Mame DEBUG调试命令详细指令速查大全

Stella981
• 阅读 718

Mame DEBUG调试命令详细指令速查大全

整理:https://my.oschina.net/zengfr/

来源:https://docs.mamedev.org/debugger/index.html

General Debugger Commands

do – evaluates the given expression
symlist – lists registered symbols
softreset – executes a soft reset
hardreset – executes a hard reset
print – prints one or more s to the console
printf – prints one or more s to the console using
logerror – outputs one or more s to the error.log
tracelog – outputs one or more s to the trace file using
tracesym – outputs one or more s to the trace file
history – outputs a brief history of visited opcodes (to fix: help missing for this command)
trackpc – visually track visited opcodes [boolean to turn on and off, for the given CPU, clear]
trackmem – record which PC writes to each memory address [boolean to turn on and off, clear]
pcatmem – query which PC wrote to a given memory address for the current CPU
rewind – go back in time by loading the most recent rewind state
statesave – save a state file for the current driver
stateload – load a state file for the current driver
snap – save a screen snapshot.
source – reads commands from and executes them one by one
quit – exits MAME and the debugger

do
symlist []
softreset
hardreset
print [,…]
printf [,[,…]]
logerror [,[,…]]
tracelog [,[,…]]
tracesym [,…]
trackpc [,,]
trackmem [,,]
pcatmem(p/d/i)

[,]
rewind[rw]
statesave[ss]
stateload[sl]
snap [[], ]
source
quit

Memory Debugger Commands

dasm – disassemble to the given file
find – search program memory, data memory, or I/O memory for data
dump – dump program memory, data memory, or I/O memory as text
save – save binary program, data, or I/O memory to the given file
load – load binary program memory, data memory, or I/O memory from the given file
map – map logical program, data, or I/O address to physical address and bank

dasm ,

,[,[,]]
f[ind][{d|i}]
,[,[,…]]
dump[{d|i}] ,
,[,[,[,]]]
save[{d|i}] ,
,[,]
load[{d|i}] ,
[,,]
map[{d|i}]

Breakpoint Debugger Commands
 
bpset – sets breakpoint at


bpclear – clears a given breakpoint or all if no specified
bpdisable – disables a given breakpoint or all if no specified
bpenable – enables a given breakpoint or all if no specified
bplist – lists all the breakpoints

bp[set]

[,[,]]

bp 45678,a0==100,{a0 = ff; g}
bp 3456,1,{printf “A0=%08X\n”,a0; g}
temp0 = 0; bp 567890,++temp0 >= 10

Watchpoint Debugger Commands

wpset – sets program, data, or I/O space watchpoint
wpclear – clears a given watchpoint or all if no specified
wpdisable – disables a given watchpoint or all if no specified
wpenable – enables a given watchpoint or all if no specified
wplist – lists all the watchpoints

wp[{d|i}][set]

,,[,[,]]

wp 23456,a,w,wpdata == 1

Registerpoints Debugger Commands
 
rpset – sets a registerpoint to trigger on
rpclear – clears a given registerpoint or all if no specified
rpdisable – disabled a given registerpoint or all if no specified
rpenable – enables a given registerpoint or all if no specified
rplist – lists all the registerpoints

rp[set] {}[,]]

rp {PC==0150},{temp0++; g}

Execution Debugger Commands

step – single steps for instructions (F11)
over – single steps over instructions (F10)
out – single steps until the current subroutine/exception handler is exited (Shift-F11)
go – resumes execution, sets temp breakpoint at

(F5)
gint – resumes execution, setting temp breakpoint if is taken (F7)
gtime – resumes execution until the given delay has elapsed
gvblank – resumes execution, setting temp breakpoint on the next VBLANK (F8)
next – executes until the next CPU switch (F6)
focus – focuses debugger only on
ignore – stops debugging on
observe – resumes debugging on
trace – trace the given CPU to a file (defaults to active CPU)
traceover – trace the given CPU to a file, but skip subroutines (defaults to active CPU)
traceflush – flushes all open trace files.

s[tep] [=1]
o[ver] [=1]
out
g[o] [

]
gv[blank]
gi[nt] []
gt[ime]
n[ext]
focus
ignore [[,[,…]]]
observe [[,[,…]]]
trace {|OFF}[,[,[noloop|logerror][,]]]
traceover {|OFF}[,[,[,]]]
traceflush

Debugger Expressions Guide

Numbers
Numbers are prefixed according to their bases:
Hexadecimal (base-16) numbers are prefixed with $ or 0x.
Decimal (base-10) numbers are prefixed with #.
Octal (base-8) numbers are prefixed with 0o.
Binary (base-2) numbers are prefixed with 0b.
Unprefixed numbers are hexadecimal (base-16).

( ) : standard parentheses
++ – : postfix increment/decrement
++ – ~ ! - + b@ w@ d@ q@ : prefix inc/dec, binary NOT, logical NOT, unary +/-, memory access
* / % : multiply, divide, modulus
+ - : add, subtract
<< >> : shift left/right
< <= > >= : less than, less than or equal, greater than, greater than or equal
== != : equal, not equal
& : binary AND
^ : binary XOR
| : binary OR
&& : logical AND
|| : logical OR
= *= /= %= += -= <<= >>= &= |= ^= : assignment
, : separate terms, function parameters

https://docs.mamedev.org/debugger/index.html

相关资料整理:

恐龙快打dino恐龙新世纪Cadillacs and Dinosaurs作弊码大全详细 mame cheat xml file
https://my.oschina.net/zengfr/blog/3141370

恐龙快打dino恐龙新世纪Cadillacs and Dinosaurs作弊码大全详细 FBA cheat ini file金手指
https://my.oschina.net/zengfr/blog/3145167

街机恐龙快打dino恐龙新世纪Cadillacs and Dinosaurs显示暴击值easy68K汇编代码修正版本
https://my.oschina.net/zengfr/blog/3143536

街机恐龙快打dino恐龙新世纪Cadillacs and Dinosaurs 68000 hack rom代码 68K反汇编-敌兵血量
https://my.oschina.net/zengfr/blog/3144490

街机恐龙快打dino恐龙新世纪Cadillacs and Dinosaurs 68000 hack rom代码 68K反汇编-敌兵倍数与敌兵替换
https://my.oschina.net/zengfr/blog/3145153

Mame DEBUG调试命令详细指令速查大全
https://my.oschina.net/zengfr/blog/3144668

恐龙快打dino恐龙新世纪Cadillacs and Dinosaurs内存地址映射
https://my.oschina.net/zengfr/blog/3145223

github:https://github.com/zengfr/romhack

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
2年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
Wesley13 Wesley13
2年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Wesley13 Wesley13
2年前
Java爬虫之JSoup使用教程
title:Java爬虫之JSoup使用教程date:201812248:00:000800update:201812248:00:000800author:mecover:https://imgblog.csdnimg.cn/20181224144920712(https://www.oschin
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Docker 部署SpringBoot项目不香吗?
  公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。  !(http://dingyue.ws.126.net/2020/0920/b00fbfc7j00qgy5xy002kd200qo00hsg00it00cj.jpg)  2
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
4个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这