Has anyone ever seen Multi debugger get the line number wrong or have a breakpoint hit off by one?
I've got a MULTI script (scripty.rc) that goes through a process that depends upon hitting a breakpoint at the end of this program. The program completes in one of two loops:
:failure
6648 NOP
6649 b failure ; You are a failure
:complete
6650 NOP
6651 b complete ; Your program worked, rejoice
So I'm supposed to break at 6649 or 6651, print the line for the user, and let them verify everything is hunkydory.
BUT.
It's not breaking at 6651. At least not always. Before lunch while I'm making sure it all works, I saw it hit it just like I want. After lunch, when I'm demoing it with the HW guy, the line it prints out is 6650 NOP
. Like what the hell? Really? You betray me the moment I demo you?
I verify the software is the same, and it's not some sneaky commit.
I verify the script is the same. It's not like a different breakpoint is being set.
I do the math with the breakpoint. In the script it's bp _start#2135
and yes, _start
is at 4516. And yes, after some in-depth analysis, 4516+2135=6651.
And I saw it hit the right line earlier.
I'm tempted to chalk this one up my unhealthy relationship with MULTI. A workaround is easy, but a non-deterministic debugger sounds terrifying and I'd like to run it to ground. Has anyone ever seen Multi debugger get the line number wrong or have a breakpoint hit off by one? Anyone have any idea of what else it could be? Am I screwing up something simple?