Blitzmax Debug/Release Mode abfragen

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

ToeB

Betreff: Blitzmax Debug/Release Mode abfragen

BeitragSo, Okt 28, 2012 17:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!

In C# etc. gibt es ja Möglichkeiten abzufragen ob das Programm im Debug oder im Release-Modus compiled wurde. In BlitzMax weiß ich das man prüfen kann für welche Platform das Programm grade Compiliert wird aber geht das auch das ich abfrage ob ich grad Debuggen will oder das herausgeben?

Lg, Tobias
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Xeres

Moderator

BeitragSo, Okt 28, 2012 17:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Das geht - findest du unter Conditional compiling in der Doku:
BlitzMax: [AUSKLAPPEN]
?Debug
'Any code here is only compiled in debug mode.
?Not Debug
'Any code here is only compiled in release mode.
?
'Code here is always compiled.
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)

ToeB

BeitragSo, Okt 28, 2012 19:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja hatte ich wieder genau dann gefunden als ichs gepostet hatte xD Danke auf jeden Fall!

Lg, Tobias
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

PhillipK

BeitragSo, Okt 28, 2012 22:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann bin ich mal so frei, eine frage hinten dran zu schieben, die das thema aufgreift:

Wann genau sollte man sowas eigentlich nutzen? Das einzige was mir einfällt, wäre Prints/Debuglogs. ganz eventuell in einem riesig fortgeschrittenen projekt noch ne debug gui oder HUD, was diverse variablen ausgibt.
Ich für meinen teil mache solche debugscherze generell immer rein, solange es von nöten ist. Mir fällt spontan kein aufbau ein, wie man übersichtlich coden und gleichzeitig alles zu mit ?Debug statements haben kann..

ToeB

BeitragMo, Okt 29, 2012 13:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Schonmal daran gedacht :
BlitzMax: [AUSKLAPPEN]
Function Debuglog2(Log$)
?Debug
DebugLog(Log$)
WriteIntoLogFile(Log)
?
End Function


Bspw Smile
Ich brauch es um für eine Engine den AppLog abzuschalten ohne es immer vorher machen zu müssen (Weil ich in der Engine selber nicht alle Logs auskommentieren kann)

Lg, Tobias
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

FireballFlame

BeitragMo, Okt 29, 2012 16:14
Antworten mit Zitat
Benutzer-Profile anzeigen
PhillipK: Das, was du geschrieben hast, trifft es ganz gut. Es eignet sich für Debuglogs, oder auch andere Dinge, die dir beim Testen helfen - in einem Spiel könnte es z.B. automatisch Hotkeys für diverse Cheats aktivieren.
Conditional compiling selbst hat auch noch anderen Nutzen, z.B. wenn man damit das Betriebssystem abfragt, um plattformabhängige Features programmieren zu können.
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

Nova

BeitragMo, Okt 29, 2012 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich persönlich stell mir einen Verwendungszweck auch so vor, verschiedene Überprüfungen der Konsistenz von Variablen im Debug-Modus zu machen. Beispielsweise wenn ein Algorithmus immer nur Zahlen zwischen 0 und 10.0 zurückliefern soll: Im Debug-Modus wird dann eine Überprüfung gemacht und eine Meldung angezeigt, wenn ein falscher Wert zurückgegeben wurde. Im Release-Modus lässt man diese Überprüfung dann weg und verlässt sich darauf, dass alle Probleme beseitigt wurden, die für falsche Werte sorgen könnten.
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit

FireballFlame

BeitragMo, Okt 29, 2012 16:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Nova: Dafür braucht man aber das conditional-compiling-Feature nicht. Dafür gibt es den Assert-Befehl, der automatisch nur im Debugmodus arbeitet.
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

Nova

BeitragMo, Okt 29, 2012 16:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Dabei sind nicht nur solche "Fehlerfenster" gemeint, sondern beispielsweise auch eine Überprüfung des momentanen Status des Programms und mögliche Fehlerbehebung. Außerdem wird das Programm anscheinend beendet, wenn das Fenster von assert auftaucht - schlechte Idee, da somit das Programm nicht ordnungsgemäß beendet werden kann.
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group