Manueller Debugstop

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Ana

Betreff: Manueller Debugstop

BeitragMo, März 28, 2011 15:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallihallo,

in BB gibt es beim Debuger ja die Möglichkeit einfach im laufenden Programm Pause zu drücken und dann die aktuelle Codeposition zu erhalten. Gibt es diese Feature auch in der Bmax Standart IDE oder eine IDE die das kann?
Don't only practice your art,
but force your way into its secrets,
for it and knowledge
can raise human to divine

BladeRunner

Moderator

BeitragMo, März 28, 2011 16:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
if keyhit(KEY_ESCAPE) debugstop
'oder eine andere Taste deiner Wahl, in die Mainloop und/oder jede beliebige zu stoppende Funktion Smile
Edit: Du kannst auch noch eine debuglogangabe dazusetzen die sagt welche deiner Stopmarken grade loslegt.
Alternativ auch als Simpelstfunktion:
Code: [AUSKLAPPEN]
function DebugPause(text:string)
    if keyhit(KEY_ESCAPE)
        debuglog text
        debugstop
    endif
end function

Natürlich musst du aus der Funktion zurückspringen, aber dann bist du richtig.

Ana

BeitragMo, März 28, 2011 17:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja Blade im normalfall stimmte das auch, aber wenn in ein paar Schleifendurchläufen ein anderen Algorithmus etwas tut und der irgendwo eine endlos Schleife macht und nicht in die Main zurück geht, dann hilft das nichts.
So oder ähnlich hab ich das schon in jeder einzelnen Schleife die mir in die Quere kommt versucht, aber leider wohl nicht die Richtige gefunden, von daher wäre halt optimal anhalten zu können ohne vorher den Punkt schätzen zu müssen.
Don't only practice your art,
but force your way into its secrets,
for it and knowledge
can raise human to divine

BladeRunner

Moderator

BeitragMo, März 28, 2011 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Gib vor Eintritt in Schleifen eine Debug-Meldung aus. Die letzte die aufgerufen wurde ist dein Problemkind.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Ana

BeitragDi, März 29, 2011 1:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja auch das hab ich schon versucht ...
aber ich finde die entsprechende einfach nicht mehr ...
das können ziemlich viele sein ...

Ich fürchte ich werde einfach den Code solange zurück setzen bis es nicht mehr auftritt, so weh es tut ...

Ich liebe dich Dropbox Wink

Edit: So gefunden, da hätte ich es nie vermutet. Danke für deine Mühen Blade
Don't only practice your art,
but force your way into its secrets,
for it and knowledge
can raise human to divine

BladeRunner

Moderator

BeitragDi, März 29, 2011 19:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Auch wenn Du den Fehler gefunden hast frage ich mich warum mein letzter Tipp nicht funktionieren sollte?
Dumchst vor alle kritischen Bereiche ein debuglog mit einer eigenen ID, die letzte Ausgabe zeigt Dir den kritischen Bereich in dem der Fehler stattfindet. Danach kann man in diesem kritischen Block weitere Ausgaben hinzufügen.
Wenn dein Code nicht total Kraut und Rüben ist sollte das eigentlich recht schnell umzusetzen sein, ohne Code zurückzusetzen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Ana

BeitragDi, März 29, 2011 20:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein nein, der geht schon und so hab ich es auch von anfang angemacht Blade, aber ich hab die Schleife nicht gesehen, so ala Wald vorlauter Bäumen nicht. Die war schon einfach artig da wo sie hin sollte, aber ich hab sie einfach nicht gesehen und wenn ich sie übersehe, dann treffe ich sie ja nicht mit diesem Verfahren. Vorrausgesetzt das man nicht so blind ist wie ich geht das natürlich und das wollte ich nie abstreiten. Letzt endlich blieb mir das Zurücksetzen auch erspart, als ich es dann wirklich in jeder Schleife auch in denen ich es für sinnlos gehalten hab gemacht hab und es war einfach eine die Fehler auffangen sollte dies vermutlich eh nicht gibt und dachte nicht, das die so ein Tuwabu machen kann.
Don't only practice your art,
but force your way into its secrets,
for it and knowledge
can raise human to divine

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group