-
-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
F10 & F11 stepping not reliable #25
Comments
@noppej still flaky/weird
|
@noppej I noticed the
but I have
Debug output:
|
So the stepping is a known issue and expected behavior. It steps on the instruction level and not on a rust statement level. It's not trivial to get this right on embedded because you either need to insert a breakpoint instruction in flash (which is terrible in perf and for the life of the flash) or you need to utilize a breakpoint unit which is not nice because you loose a breakpoint. |
@DarrylN Further to the above, if you look at the @Yatekii I've been experimenting, and I think the best way to do this is a hybrid, where ...
My other thoughts ...
|
@DarrylN I've implemented statement level stepping. I'd really appreciate if you'd be willing to give me feedback on probe-rs/probe-rs#1056 |
I believe this is addressed with probe-rs/probe-rs#1056 |
Code to repro.
Discussion on rs-probe:matrix.org..
hardware:
software:
add'l info:
partial workaround:
with enable "reset after flash" but disable "halt after reset", hitting F5 builds, flashes, hits the bp in main reliably, and can hit multiple explicit bps
Initially the target was flashed and debuggee was launched, but never hit the initial bp set in main. This coincided with a notification popup with "Unable to open 'asm.S': Unable to read file '/home/jonas/dev/cortex-m-rt/asm.S' (Error: Unable to resolve nonexistent file '/home/jonas/dev/cortex-m-rt/asm.S')."
Debug output showed the following:
When I clicked the debug control restart button, then it hit the initial bp in main, but after that was not able to step reliably.
@adamgreig response on matrix:
darryln: hmm, a few weird things going on - the error about asm.S indicates it's trying to work out what's happening when the program counter is inside the init code that runs before main, which comes from that file, suggesting your breakpoint has triggered too early/right at reset but later, the PC is at FFFFFFFE, which isn't a valid PC and suggests a fault has been taken, and then the chip fails to respond after that too? specifically FFFFFFFE means the processor faulted while processing a fault and therefore entered lockup.
The text was updated successfully, but these errors were encountered: