Tool zur Prommablaufsverfolgung? (Funktionseinprünge / Aussprünge?)



  • Hallo Leute,
    ich möchte mich in eine C++ Linux-Library einarbeiten, welche ziemlich umfangreich ist. Der Quellcode ist vorhanden, da Open Source. Nun könnte ich ein Werkzeug gebrauchen, welches beim Betreten und Verlassen jeder Methode eine Meldung in eine Datei loggt.
    Selber überall Log-Ausgaben reinsetzen steht außer Frage, das würde ewig dauern.
    Ich suche also ein Werkzeug, welches in jede Routine solche Ausgaben einfügt. Oder ähnliches. Weiß hier jemand was in der Art?
    Produziert werden sollen Ausgaben wie

    Methode Klasse1.init() aufgerufen.
      Methode Klasse2.tueIrgendwas aufgerufen.
        Methode Klass2.nochwas aufgerufen
        Methode Klass2.nochwas wurde verlassen
      Methode Klasse2.tueIrgendwas wurde verlassen
    Methode Klasse1.init() verlassen.
    Methode Klasse4.schreibeWas aufgerufen
    Methode Klasse4.schreibeWas wurde verlassen
    

    Ich will einfach nachvollziehen, was bei einem einmaligen nutzen dieser Library alles passiert.
    Gibts es sonst irgendwelche Möglichkeiten, sich in umfangreiche, verschachtelte Libs einzuarbeiten?
    Beste Grüße,

    flo



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Glowcode kann das, zumindest in der Version 5.1, wenn man
    PDB-Dateien(Microsoft) zu den zu tracenden Modulen hat.
    http://www.glowcode.com/



  • Danke Redhead, aber leider ist es eine Linux-Bibliothek, Windows-Tools helfen da nicht weiter. Hat vielleicht jemand eine Idee, nach welchen Suchbegriffen ich googlen könnte? Gibts da Fachbegriffe?



  • Gibts es sonst irgendwelche Möglichkeiten, sich in umfangreiche, verschachtelte Libs einzuarbeiten?

    Je nachdem was du machen willst. Du kannst auch einfach mit einem Debugger durch steppen, da wird zwar nix geloggt aber du siehst auch genau was passiert.



  • Leider geht das durchsteppen mit dem Debugger nicht, da die Nutzung der Bibliothek zeitkritisch ist und innerhalb von Bruchteilen von Sekunden Timer ablaufen und die durch die Library hergestellte Verbindung zusammenbricht.So schnell kann ich gar nicht die "nächster-schritt"-taste drücken.



  • damit geht das: http://www.scitools.com/products/understand/cpp/product.php
    gibts als 30 tage testversion, danach einfach die uhr zurückstellen.
    🙂
    much more text text text text text text
    much more text text text text text text
    much more text text text text text text
    much more text text text text text text
    much more text text text text text text
    much more text text text text text text
    much more text text text text text text
    much more text text text text text text
    much more text text text text text text
    much more text text text text text text
    much more text text text text text text
    much more text text text text text text
    (sorry nötig wegen spamkontrolle)


Anmelden zum Antworten