Zeilennummer im Code herausfinden

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

M0rgenstern

Betreff: Zeilennummer im Code herausfinden

BeitragMi, Apr 03, 2013 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute,

Ich weiß nicht, ob das möglich ist, deshalb wollte ich mal nachfragen.
Undzwar: Gibt es eine Möglichkeit, die Zeilennummer einer bestimmten Programmzeile herauszufinden?
Der Hintergrund ist folgender: Ich möchte bei selbst geschriebenen Fehlermeldungen die Zeilennummer mit ausgeben, in der der Fehler aufgetreten ist.
Geht das, und wenn ja wie?

Ich glaube eigentlich nicht, dass es geht, weils ja später nur Assembler ist, aber ich wollte vorher mal nachfragen.

Lg,
M0rgenstern

Xeres

Moderator

BeitragMi, Apr 03, 2013 21:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Dafür müsste der Compiler/Debugger einen richtigen Breakpoint setzen können, was, glaube ich, nicht implementiert ist. Mit dem Namen der Funktion/Methode fährst du aber auch nicht schlechter, da kann man mit jeder halbwegs anständigen IDE hinspringen.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

M0rgenstern

BeitragMi, Apr 03, 2013 22:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Habe ich mir fast gedacht.
Dann muss der Methodenname reichen.

Vielen Dank.

Thunder

BeitragDo, Apr 04, 2013 15:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja nicht unbedingt. Das Programm ändert sich ja nicht zur Laufzeit. Jede Zeile bleibt wo sie ist, also würde ein Präprozessor reichen, der eine Konstante (wie _LINE_ oder so) durch die aktuelle Zeilennummer ersetzt - wie in C.

http://publib.boulder.ibm.com/...rc09lc.htm

Weiß allerdings nicht, ob sich schon jemand dieses Problems angenommen hat...
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

ZEVS

BeitragDo, Apr 04, 2013 19:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, ich habe mal vor einiger Zeit einen Präprozessor für BMax geschrieben und in bcc integriert. __LINE__ wird da unterstützt und manches mehr. Ich habe ihn noch nicht veröffentlicht, weil einiges unschön ist (um bmk an den geparsten Code kommen zu lassen, muss er in temporäre Dateien geschrieben werden, das Übernehmen von Makros aus Modulen funktioniert auch nicht richtig...). Ab nächster Woche habe ich wieder Zugriff auf den Code, dann kann ich ihn (bei Interesse) bereitstellen. Das Teil verlangsamt das Building aber ziemlich - ein Grund, weshalb ich es nicht selbst benutze. Außerdem ist es kaum getestet (wenn ich an einem Projekt arbeite, will ich nicht meinen Präprozessor debuggen). Falls euch das die angepassten Fehlermeldungen durch __LINE__ und __FILE__ sowie die Makros wert sind, könnt ihr ihn haben.
ZEVS

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group