Hallo !
kann mir jemand ein gefallen tun und ein Debugger (in DLL form oder sonst immer, ist egal) schreiben, der alle Features wie der VB Debugger bietet ? Ich würd es ja gerne selber schreiben aber um ehrlich zu sein, mir fehlt die Zeit dazu . Hier mal eine Liste was der Debugger von VB kann:
-Variableinhalt über Tooltip ausgeben
-Auf einer bestimmten Zeile (die vorher markiert wurde) halt machen und dann Step für Step ausführen
-gabs noch mehr, fällt mir jetzt aber nicht ein
Dies ruft den "Debugger" auf und hält sofort die Programmausführung an.
Debug <Ausdruck> [, DebugLevel]
Zeigt das DebugOutput Fenster und darin das Ergebnis. Der Ausdruck kann jeder gültige PureBasic Ausdruck sein, von numerisch bis zu einem String. Ein wichtiger Punkt ist, dass der Debug Befehl und sein zugehöriger Ausdruck total ignoriert (nicht kompiliert) werden, wenn der Debugger deaktiviert ist.
Hinweis: Dies gilt auch, wenn Sie hinter Debug vollständige Befehlszeilen (z.B. Debug LoadImage(1,"test.bmp")) angeben. Diese werden bei ausgeschaltetem Debugger nicht mit kompiliert!
Dies bedeutet, dass dieser Befehl benutzt werden kann, um einfach den Programmablauf zu verfolgen ("tracen"), ohne beim Erstellen des endgültigen Executable die Debug-Befehle auskommentieren zu müssen.
Der 'DebugLevel' ist die Prioritätsstufe der Debug-Mitteilung. Alle normalen Debug-Mitteilungen (ohne angegebenen DebugLevel) werden automatisch angezeigt. Wenn ein Level angegeben wurde, dann wird die Mitteilung nur angezeigt, wenn der aktuelle DebugLevel (definiert mit dem nachfolgenden 'DebugLevel' Befehl) gleich oder höher als dieser Wert ist. Dies ermöglicht einen hierarchischen Debug-Modus, indem mehr und mehr präzisere Informationen in Abhängigkeit vom benutzten DebugLevel angezeigt werden.
DebugLevel
Legt den aktuellen DebugLevel für die 'Debug' Mitteilung fest.
DisableDebugger
Dies schaltet die Debugger-Prüfroutinen bei nach diesem Befehl folgenden Sourcecode aus.
EnableDebugger
Dies schaltet die Debugger-Prüfroutinen bei nach diesem Befehl folgenden Sourcecode ein (wenn der Debugger vorher mittels DisableDebugger ausgeschalten wurde).
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.