Ich arbeitet mich gerade in ein Board mit einem dsPIC33FJ128MC706A unter
Verwendung des MPLAB X IDE v5.15 mit dem ICD4 ein und habe ein Problem
beim Debuggen - wenn ich die Funktionen "Step Over", "Step Out", "Run to
Cursor" verwende oder einen Breakpoint setze, läuft der Debugger einen
Schritt zu weit!
z.B. in main.c
1 | x function1();
|
2 | function2();
|
3 | function3();
|
4 | function4();
|
Ich setze eine Breakpoint auf function1(), der Debugger hält aber
innerhalb der Funktion function1().
1 | void function1(void)
|
2 | { <= hier!!!
|
3 | irgendwas1();
|
Führe ich ein "Step Out" aus, landen ich nicht auf function2(), sondern
innerhalb der Funktion function2()
1 | void function2(void)
|
2 | { <= hier!!!
|
3 | irgendwas2();
|
Steppe ich statt dessen mit "Step Into" durch function1(void), bis ich
auf function2(void) stehe und führe dann einen "Step Over" durch, lande
ich nicht auf function3(), sondern wieder innnerhalb der Funktion
function3().
1 | void function3(void)
|
2 | { <= hier!!!
|
3 | irgendwas3();
|
Setze ich nun den Cursor in main.c auf function4() und führe ein "Run to
Cursor" aus, lande ich nicht wie erwartet beim Cursor, sondern wieder
innerhalb der Funktion function4(void).
1 | void function4(void)
|
2 | { <= hier!!!
|
3 | irgendwas4();
|
Ich kann mir nicht vorstellen, dass das so sein soll, weil meiner
Meinung nach unbrauchbar!? Oder kennen das die PIC-Anwender unter Euch
nicht anders und das Verhalten ist so gewollt?