|
DeskDebug-Verbessert
V1.06 (2005/09/15)
- 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.
|
|