tem*_*def 7 debugging reverse-engineering gameboy
作为我一直在做的工作的一部分来回答关于神奇宝贝红色故障的技术工作的问题,我一直在寻找一种方法来使用标准调试器来调试Game Boy ROM.虽然我发现的许多仿真器都有一些调试支持,但到目前为止我发现的任何东西都没有用.
作为背景,截至目前我已尝试使用Visual Boy Advance内置功能进行调试,但它们对我正在尝试的内容并不是特别有用.VBA缺乏设置断点的能力,并且因为它在帧的级别而不是指令上向前迈进,所以当我真正需要它时,我无法看到代码是如何执行的.虽然VBA说它支持GDB调试,但我完全无法让它工作.我尝试按照说明交叉编译GDB for ARM,但无法让GDB连接到仿真器(它会认识到有一个程序要连接,但报告说该协议已被违反).我在使用Cygwin的Windows和Ubuntu Linux上都取得了类似的成功.我和朋友试图使用Insight/GDB,但遇到了完全相同的问题.
我也尝试使用NO $ GBA调试器,但它拒绝为PokémonRed加载我的ROM(然后侮辱我说我不能尝试做的任何事情都会修复它,因为文件只是完全错误).
此外,我尝试下载此版本的Visual Boy Advance声称其中有一个调试器,但由于某种原因我无法启用它来启用调试器.按照说明按F11无效.
我相信我已经完成了我的尽职调查,试图让调试器工作,我很惊讶他们中没有一个工作过.有没有人知道使用标准调试技术调试Game Boy游戏的简单,直接的方法?我最感兴趣的是能够在内存中写入断点(看看什么例程破坏了内存的某些部分).如果有第一手经验的人可以提供有关如何执行此操作的详细信息,我将非常感激,因为有关该主题的在线资源似乎非常有限.
No$GBA 适用于 GBA 游戏;你想要NO$GMB。请注意,它有很多错误,并且没有注册版本(可能无法合法获得),而且相当残缺。
bgb 是免费的,与 No$GMB 非常相似,但甚至有更多问题。
VBA 应该有一个调试器,但有一百万个不同的版本,所以祝你好运找到合适的版本。
查看GbaDev.org网站并查看论坛。这是网络上解答 GBA 甚至 GBC 问题的最佳位置。我可以告诉你,VBA 有很多版本,而且没有任何版本。从技术上讲,您想要的 No$ 是付费版本,但 Martin Korth 已经多年没有回复电子邮件或任何其他内容,我不再确定其状态。如果您愿意或帮助您使用调试器,我还可以亲自回答您的一些问题。
我能够访问 no$ 主网站,下载no$gmb的 Windows 版本,并在黑白模式下运行时使用它进行调试 - 应该足以满足您的需求。F12 打开 rom,F2 切换断点、空格跟踪,F3 跳过,Ctrl-G 将您带到地址(或符号),Ctrl_B 允许条件断点(迄今为止最强大的功能供您使用。)例如,(3000)!将在地址 0x3000 处设置读/写断点。(0300..03003)!设置在一个范围内。当您正在寻找特定的地址更改时,这就是您想要的。
| 归档时间: |
|
| 查看次数: |
11574 次 |
| 最近记录: |