It's time to extend the AURIX Debugger by adding the possibility to trace each instruction execution. Still referencing to older DOS Debug program, I like to implement something that will permit <<Executes one instruction and displays the contents of all registers, the status of all flags, and the decoded form of the instruction executed.>>. My idea is to extend the Interactive User Interface by:
- Control core: run, stop, step, trace
Beside some code refactoring, the core of this feature is to:
- capture CPU registers (D0..15 / A0..5) content before instruction execution
- execute the instruction as the Instruction Pointer (IP also called PC) is pointing to
- capture CPU registers (D0..15 / A0..5) content after instruction execution
- display only the registers that have been modified due to the instruction execution
such could results into:
Where is clear that the within the STEP 5 we have been able to add also the De-Assembler step (at least for few Tricore 1.6 instructions).
At the end, the Debug Trace command is a crucial command for a professional debugger application, since it can also help to debug applications even without the source project (e.g. no HEX, no ELF associated files).
Here another self-explainable example:
Stay tuned!
P.S.: the current de-assembler implementation is really rudimental and contains only few Tricore 1.6 instructions decoding. But, with time and dedication, I will make it!
Sources will be soon available in the STEP 5 of https://github.com/aurixinino/aurixocd.
Commenti
Posta un commento