有没有人见过 Multi 调试器的行号错误或断点被一个击中?
我有一个 MULTI 脚本 (scripty.rc),它通过一个依赖于在该程序结束时命中断点的过程。该程序在两个循环之一中完成:
:failure
6648 NOP
6649 b failure ; You are a failure
:complete
6650 NOP
6651 b complete ; Your program worked, rejoice
所以我应该在 6649 或 6651 中断,为用户打印该行,并让他们验证一切是否正常。
但。
它并没有在 6651 处突破。至少并非总是如此。午餐前,当我确保一切正常时,我看到它就像我想要的那样击中它。午饭后,当我和硬件人员演示它时,它打印出来的行是6650 NOP
. 比如什么鬼?真的吗?我演示你的那一刻你就背叛了我?
我验证软件是相同的,它不是一些偷偷摸摸的提交。
我验证脚本是一样的。这不像是设置了不同的断点。
我用断点做数学。在脚本中bp _start#2135
是,_start
是的,在 4516。是的,经过深入分析,4516+2135=6651。
我看到它早些时候击中了正确的路线。
我很想把这归咎于我与 MULTI 的不健康关系。解决方法很简单,但非确定性调试器听起来很可怕,我想将它运行到地面。有没有人见过 Multi 调试器的行号错误或断点被一个击中?任何人都知道它可能是什么?我搞砸了一些简单的事情吗?