Fortgeschrittenes Debugging, oder wie komme ich meinem Programm auf die Schliche?



  • Was für Möglichkeiten gibt es eigentlich den Programmablauf zu analysieren, außer dem Debugger?
    Ich bin generell für Tips dankbar, was Borland in dieser Richtung mitliefert, oder was es von Fremdherstellern gibt.

    Trotzdem vielleicht auch mal den Background, warum ich frage:
    Mein Programm erzeugt gelegentlich Prozessorlast, und ich weiß nicht wirklich warum. Ich kann es zwar reproduzieren, aber ich finde die Ursache nicht. Manchmal habe ich permanent rund 5% Last, manchmal um die 20%, aber nie 100%. Das blöde daran ist, daß dieses Programm eigentlich (nachher) monatelang ohne Unterbrechung laufen soll, und sobald das Lastproblem auftritt, geht es auch nicht mehr weg.
    Das Programm empfängt Daten von externen Geräten, normalerweise liegt die Prozessorlast im Wartezustand auch bei 0%, bis dann gewisse Umstände eintreten, dann geht die Last nie wieder runter.

    Da ich mit dem Debugger nichts finden kann ist mein Hauptverdächtiger das OCX vom Gerätehersteller, welches ich für die Kommunikation nutze.

    Vielleicht hat das auch was mit Multithreading zu tun, obwohl ich das höchstens implizit einsetze. Ich erzeuge je Gerät ein selbsgeschriebenes Objekt, dem ich einen "Callback" zuweise, mal kurz gesagt. Das Programm ist auch auf der Arbeit und ich bin schon daheim...

    Aber für Tips, wie ich dem ganzen auf die Schliche kommen kann, wäre ich doch sehr dankbar!

    EDIT: Den BCB6 nutze ich.





  • Ja, sowas suche ich.

    Das AQtime sieht erstmal ganz gut aus, läuft aber leider laut der Doku nicht mit meiner Entwicklungsumgebung, sondern nur mit einem englischen BDS 2006. Schade, sonst hätte ich mir direkt die Testversion gezogen.



  • Bist Du Dir sicher?
    Unter "Supported DevTools" auf der Seite werden C++Builder (3, 4, 5, 6, 2006, 2007) gelistet.

    /Edit O.K. vllt nur als stand alone:

    "AQtime can run as a stand-alone tool, and for those developing with Microsoft Visual Studio or Borland Developer Studio, AQtime can be tightly integrated with your IDE. This integration offers developers full control over AQtime without leaving Microsoft Visual Studio's or Borland Developer Studio's IDE, ensuring a continuous application development experience. See Integration into Microsoft Visual Studio and Integration into Borland Developer Studio."



  • witte schrieb:

    ...
    "AQtime can run as a stand-alone tool, ...

    Ach so, dann schaue ich mir das doch mal an. Danke!


Log in to reply