Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
hunggar
Anmeldungsdatum: 04.08.2008 Beiträge: 32 Wohnort: Karlsruhe
|
Verfasst am: 05.08.2008, 11:45 Titel: Variablen-Überwachung |
|
|
Gibt es eine Möglichkeit, die aktuellen Werte der verwendeten Variablen zu überwachen, während ein Programm läuft ?
Bei mir verhält sich eine einfache Integer-Variable während einer For-Next-Schleife nicht so, wie ich es erwartet habe.
Jetzt möchte ich gerne herausfinden, an welchem Punkt im Programm diese Variable den "falschen" Wert annimmt.
Danke und viele Grüße,
HungGar |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 05.08.2008, 13:30 Titel: |
|
|
mit ein wenig kreativität bastelt man sich bei sowas am besten selbst einen debugger. du kannst an mehreren stellen der FOR-schleife eine print-anweisung wie z.B. diese einfügen:
Code: | PRINT "An der Stelle foo angekommen, bar hat den Wert 1337" |
und dann kannst du diese anweisung beliebig vervielfältigen (z.B. nach SUB-aufrufen einfügen) und prüfen, an welcher stelle sich der fehler verbirgt.
Siehe auch: http://www.freebasic-portal.de/index.php?s=code&id=52 _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
hunggar
Anmeldungsdatum: 04.08.2008 Beiträge: 32 Wohnort: Karlsruhe
|
Verfasst am: 05.08.2008, 14:25 Titel: |
|
|
Also das hilft auf jeden Fall.
Einfach die gesuchte Variable per Print anzeigen lassen.
Klasse und einfach.
Höchstens bei größeren Programmen etwas umständlich.
Funktioniert aber wirklich wunderbar.
Ich habe meinen Fehler gefunden und eliminiert.
Vielen Dank.
 |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 16.08.2008, 12:46 Titel: |
|
|
Ansonsten kannst du auch mit z.B. gdb anrücken _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 16.08.2008, 19:42 Titel: |
|
|
Ich mach mir immer so ein kleines define:
Code: | #define debug(v) Print "Variable '" & #v & "' hat in Zeile " & __LINE__ & " (Funktion " & __FUNCTION__ & ") den Wert '" & v & "'" |
Du musst jetzt nur noch da, wo eine ausgabe erscheinen soll, "debug(variable)" schreiben.
Code: | #define debug(v) Print "Variable '" & #v & "' hat in Zeile " & __LINE__ & " (Funktion " & __FUNCTION__ & ") den Wert '" & v & "'"
Dim As Integer test = 8
debug(test)
Sub muh()
Dim As String test2 = "hallo"
debug(test2)
End Sub
muh() |
Dieser Code erzeugt die ausgabe:
Variable 'test' hat in Zeile 5 (Funktion __FB_MAINPROC__) den Wert '8'
Variable 'test2' hat in Zeile 9 (Funktion MUH) den Wert 'hallo' _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
Cherry
Anmeldungsdatum: 20.06.2007 Beiträge: 249
|
|
Nach oben |
|
 |
|