DeskDebug 1.06 Neuerungen und Verbsserungen - Wenn das untersuchte Programm ein Fenster mit Wimp_CreateMenu oder Wimp_CreateSubmenu öffnet, öffnet DeskDebug dafür das entsprechende versteckte Fenster mit Wimp_OpenWindow. Dadurch wird sichergestellt, dass eine Abfrage des Menu_Fensters mittels Wimp_GetWindowState die richtigen Werte zurückgibt. Ruft das untersuchte Programm Wimp_CreateMenu oder Wimp_CreateSubmenu mit R1 = -1 auf, schliesst DeskDebug das versteckte Fenster. Ausserdem wird nach jedem Aufruf von Wimp_Poll oder Wimp_PollIdle geprüft, ob das Menü-Fenster noch offen ist. Wenn es geschlossen ist, schliesst DeskDebug auch das versteckte Fenster. - Die Prüfung, ob die Debug-Daten in einem "File-Info"-Eintrag einen absoluten Pfadnamen enthält, ist verbessert. DeskDebug betrachtet nun einen Pfadnamen als absolut, wenn er das Zeichen "$" enthält. Dadurch ist sichergestellt, dass ein Pfadname nicht als absolut betrachtet wird, nur weil er den Namen des Anwendungs-Verzeichnisses enthält. - In "File-Info"-Einträgen enthaltene Quelle-Pfadnamen werden jetzt nicht nur als solche erkannt, wenn sie mit "s.", "c." oder "c++." beginnen, sondern auch, wenn sie ".s.", ".c." oder ".c++." irgendwo enthalten. So werden auch Pfadnamen richtig erkannt, die mittelbar (indirekt) auf Verzeichnisse zeigen, die die Quellen-Dateien enthalten. - Auswahl-Klick auf das DeskDebug-Programmsymbol öffnet vor dem Start einer Debug-Session das Parameter-Fenster oder bringt nach dem Start einer Debug-Session das Steuerungs-, ARM-Register-, FPU-Register-, Wimp-Ereignis- und Kontext-Fenster zum Vordergrund. Spezial-Klick auf das DeskDebug-Symbol öffnet immer das Quelle-Pfad-Fenster. - Der Quelle-Pfadname kann jetzt auch nach dem Start einer Debug-Session geändert werden. Wenn man das Quelle-Liste-Fenster öffnen kann, aber darin nur Zeilen-Nummern sieht, sind die Quellen-Dateien nicht gefunden worden. Nun kann man mit Hilfe des Quelle-Pfadname-Fensters den Pfadnamen berichtigen, ohne die Debug-Session neu starten zu müssen. - Seit der Version 1.00 funktionierte das Mitteilungs-Protokoll "DataOpen" nicht mehr, wenn in der "Wimp_Poll"-Schleife ein Haltepunkt gesetzt war. Ich habe den bei einer Änderung aus Versehen eingebauten Fehler bemerkt und behoben, so dass das Protokoll nun wieder funktioniert. - Im Menu des "Speicher-Dump"-Fensters steht jetzt der Eintrag "Suchen" an erster Stelle wie auch bei den andern Listen-Fenstern für Symbole, Prozeduren und Variablen. - Auch beim Klick auf "Untersuch" im Parameter-Fenster oder beim Drücken der Eingabetaste, wenn dieses den Eingabefokus hat, prüft DeskDebug nun, ob bereits eine Debug-Session läuft, und gibt allenfalls eine Fehlermeldung. Bisher konnte der Computer in diesem Fall abstürzen. - Im "Suchen"-Fenster sind die Jokerzeichen nun standardmässig aktiviert. - Für das Erneuern von Fenster-Inhalten wird nun der sichtbare Bereich in den entsprechenden Arbeits-Bereich umgerechnet, der dann dem SWI "Wimp_ForceRedraw" übergeben wird. So wird stets der ganze sichtbare Fenster-Bereich - und nur dieser - erneuert. Das ist einfacher und besser als das bisherige Verfahren, das den ganzen Arbeitsbereich erneuerte. - Der Name der ausgeführten Quelle-Liste im Quelle-Namen-Fenster und der Name der ausgeführten Prozedur im Prozeduren-Liste-Fenster werden nun nur noch farblich hervorgehoben und mit einem Stern gekennzeichnet, wenn das untersuchte Programm an der entsprechenden Stelle still steht. In der vorherigen Version wurden sie auch hervorgehoben und gekennzeichnet, wenn das Programm frei lief, was nicht sinnvoll ist, weil sich der Ausführungs-Ort in diesem Fall immer ändert. - DeskDebug setzt bei "C"-Programmen den ersten Haltepunkt auch dann richtig beim Eintritt zur Prozedur "main", wenn für diese keine Quellen-Infos vorliegen. DeskDebug sucht nun nämlich den Namen "main" nicht mehr in der Prozeduren-Liste, sondern in der Symbol-Tabelle und nimmt die entsprechende Adresse von hier. Um ganz sicher zu sein, dass wirklich ein "C"-Programm vorliegt, prüft er noch, ob wenigstens eine Sektion "C"-Quellen-Infos enthält. Ist dies der Fall, handelt er entsprechend. - Die Fenster "Speicher" und "Disassembler" flackern nur noch, wenn das untersuchte Programm die Grösse des Anwendungs-Speichers veröndert. Alle übrigen Listen-Fenster flackern nicht mehr, wenn das frei laufende untersuchte Programm Wimp-Ereignisse erhält. - Im Variablen-Optionen-Fenster kann man nun die Anzahl der angezeigten Schachtelungs-Stufen einstellen. Dieses Fenster habe ich zudem neu gestaltet. An Stelle der vielen Radioknöpfe gibt es nun drei mit Pfeilen umschaltbare Anzeigen. Die beiden Optionen "Feld-Elemente" und "Schachtelungs-Stufen" haben je acht Stellungen, die Option "Struktur-Elemente hat vier Stellungen. - Im Suchfenster und im Sichern-Fenster kann man nun mit [Page up] und [Page down] zwischen den Radioknöpfen umschalten, die die Art der Suche oder der Sicherung wählen. Zudem kann man im Suchfenster die Optionen "Grossschreibung" mit [Ctrl C] und "Benutze Joker" mit [Ctrl W] schalten. - Im Steuerungs-Fenster ist die Option "Quelle-Schritt" nun standardmässig aktiviert. Ich denke, dass man das meistens so benötigt. - Das Fenster "Disassembler-Optionen" bietet neu die Möglichkeit, die angezeigten Längen der Labels und Symbole zu begrenzen. Die umschaltbare Anzeige bietet die vier Stellungen ausgeschaltet, 32 Zeichen, 64 Zeichen und volle Länge.