Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Variablen-Überwachung

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
hunggar



Anmeldungsdatum: 04.08.2008
Beiträge: 32
Wohnort: Karlsruhe

BeitragVerfasst am: 05.08.2008, 11:45    Titel: Variablen-Überwachung Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 05.08.2008, 13:30    Titel: Antworten mit Zitat

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. zwinkern

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
hunggar



Anmeldungsdatum: 04.08.2008
Beiträge: 32
Wohnort: Karlsruhe

BeitragVerfasst am: 05.08.2008, 14:25    Titel: Antworten mit Zitat

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.
happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 16.08.2008, 12:46    Titel: Antworten mit Zitat

Ansonsten kannst du auch mit z.B. gdb anrücken
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 16.08.2008, 19:42    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Cherry



Anmeldungsdatum: 20.06.2007
Beiträge: 249

BeitragVerfasst am: 16.08.2008, 22:07    Titel: Antworten mit Zitat

Du kannst den FB Debugger benützen:

http://freebasic.net/forum/viewtopic.php?t=11447

Hier mal ein Screen:



Ansonsten: Poste mal deine Schleife, vllt können wir dir auch so helfen.

mfG Cherry

EDIT: Oha, der Downloadlink geht nicht, hier, habs nochmal hochgeladen: http://cherrytree.at/misc/fbdebug.rar
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz