ich suche gerade nach einer Möglichkeit (ähnlich wie es der Debugger kann) zur Laufzeit im Quellcode per Macro oder Procedure eine Aufrufsverfolgung zu integrieren.
Es gibt ja die Konstante #PB_Compiler_Line, nur leider gibt mir diese ja nur die Zeile des aktuellen Aufrufs zurück.
In diesem Beispiel möchte ich aber irgendwie an die Zeilennummer des Aufrufs Beispiel(), sodass ich ermitteln kann, in welche "echten" Zeile Beispiel() mit einer negativen Zahl aufgerufen wurde.
Code: Alles auswählen
Procedure Beispiel(Number.i)
If Number < 0
Debug #PB_Compiler_Line ; Gibt Zeile 3 aus
EndIf
EndProcedure
Beispiel(100) ; Zeile 7
Beispiel(0) ; Zeile 8
Beispiel(-2) ; Zeile 9
Code: Alles auswählen
Procedure Beispiel_Debug(Number.i, Line.i)
If Number < 0
Debug Line ; Gibt nun Zeile 13 aus
EndIf
EndProcedure
Macro Beispiel(Number)
Beispiel_Debug(Number, #PB_Compiler_Line)
EndMacro
Beispiel(100) ; Zeile 11
Beispiel(0) ; Zeile 12
Beispiel(-2) ; Zeile 13
Wie macht das der PB-Debugger?