Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » debug system

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
31.07.2005, 12:56 Uhr
~forumsinspektor
Gast


Ich hätte gerne ein ANSI komfortables Debugsystem für C++, basierend auf einer Debug-Klasse und einer debug.log-Datei, die ich in jedes Projekt einbinden kann. Das wäre eine große Hilfe, das Durchlaufen der Prozesse allein ist oft genug nicht schnell genug.

Wie gehe ich vor? Was ist mit der Konvertierung von Zahlen (int, float...) in Strings? Das gestaltet sich in C++ nicht so einfach. Gibt es eine bereits erstellte Klasse? Das würde mir natürlich Arbeit ersparen. Am besten wäre solch eine Lösung:


Code:
debug("Wert i:" + i);


trotzdem das nicht so einfach ist. Reichen würde schon ein

[code]debug(i);
debug("hallo");
debug("defekt");[code]

und die Ausgabe in einer lokalen debug.log-Datei.

Oder wie gibt ihr Werte zur Laufzeit in eurem Debuggingprozess aus?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
31.07.2005, 14:57 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


was du machen könntest ist das berühmte sprintf-style-variable-argumentliste verwenden, also z.b so:


C++:
void debug(const char *fmt, ...)
{
    char buffer[102500]; // speicher für den endgültigen String

    va_list vl; // Argumentsliste bilden

    va_start(vl,fmt); // mit Formatstring initialisieren

    vsprintf(buffer,fmt,vl); // Listenparameter in Buffer übertragen

    va_end(vl); // Liste beenden

    // hier dann buffer z.b in eine Datei schreiben
}




aufrufen kannste es z.b dann so:


C++:
int i = 45;
debug("Wert i = %d", i);
char s[] = "String";
debug("String s = %s", s);



für die formatflags am besten in die manpage von sprintf schaun
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: