PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : debugger in kdevelop



Tim Taylor
02-07-2002, 21:36
Ich versuche die ganze Zeit ein Programm bis zur einer bestimmten Stelle ausführen zu lassen und gleichzeitig den Wert der Variable zu verfolgen. In kdevelop gibt es die Funktion beobachten, die genau das tun soll. Wenn ich aber dort Variablen angebe, die angezeigt werden sollen so bleibt der Wert stets ein Fragezeichen. Ich habe es mit Typ also z.B. int i und nur mit dem Namen der Variable probiert.

Demonus
03-07-2002, 07:13
Bei mir ist das ?-Zeichen nur dann auf getaucht, wenn
der Debugger die Variable nicht kannte. Wenn die Variable in einem
anderen Gültigkeitsbereich liegt und nicht global verfügbar ist, kann sie nicht
angezeigt werden.

Tim Taylor
03-07-2002, 07:30
Nee das funktioniert bei mir auch mit globalen Variablen nicht.


Simples Beispiel:

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <iostream.h>
#include <stdlib.h>

int counter=1;

void test();

int main(int argc, char *argv[])
{
test();
int i;
i=1;
int j=2;
i=i+j; cout << " i ist "<<i<<endl;
return EXIT_SUCCESS;
}


void test()
{
int i=3;
i++;
}



Counter müsste dann ja überall gültig sein und damit auch überall angezeigt werden, das ist leider nicht der FAll.

Demonus
03-07-2002, 08:31
Wenn dein programm Test-Programm nur aus dieser einen Datei besteht, müsstes du
einfach nur den Variablennamen in das Feld "Beobachten" (wenn der Debugger
läuft; unten Links) eingeben und schon müsste die Variable im Detail-Fenster
erscheinen.

anda_skoa
03-07-2002, 09:44
Vielleicht wurde das Programm ohne Debugsymbole kompiliert.

Das ist, glaub ich, eine Option in den Configure Einstellungen.

Ciao,
_

Tim Taylor
04-07-2002, 06:33
@anda_skoa
Da ich kdevelop nur per rpm installiert habe,weiß ich nicht ob das mit oder ohne Debugger ist. Aber ich kann es ja bei Gelegenheit per Hand compilieren.

@Demonus
Da steht zwar dann die Variable unter Beobachten, aber der Wert der Variable wird halt niemals angezeigt.

anda_skoa
04-07-2002, 09:44
Original geschrieben von Tim Taylor
@anda_skoa
Da ich kdevelop nur per rpm installiert habe,weiß ich nicht ob das mit oder ohne Debugger ist. Aber ich kann es ja bei Gelegenheit per Hand compilieren.


Ich meinte nicht KDevelop, sondern dein Programm.
Ob KDevelop mit Debugsymbolen compiliert ist, ist egal wenn du nicht KDevelop debuggen willst.

Aber davon abgesehen kommt man IMHO meistens ohne Debugger aus, vorallem wenn es eine GUI Applikation ist.
Da ist es viel besser, wenn man Werte mit einem kdDebug oder qDebug ausgibt (oder auf cerr, wenn es keine Qt oder KDE libs verwendet)

Ciao,
_

Tim Taylor
04-07-2002, 14:37
@anda_skoa:
Danke für den Tipp, ich werde die Configure-Einstellungen sobald wie möglich prüfen.
Den Debugger brauche ich auch nicht wirklich im Moment, ich wollte mehr interessehalber wissen, wie das funktioniert.