Erweiterte CPU-View für Lazarus.
Achtung - Beta, Version !!!
Einrichtung und Verwendung:
- Download fhexView https://github.com/alexanderbagel/fhexview und kompilieren Sie FWhexView.lcl.lpk
- Öffnen Sie cpuview_d.lpk und installieren Sie es in der IDE (Menü: Paket-> Pakete installieren/deinstallieren).
- Wiederaufbau ide
- Wählen Sie im Debug-Modus das Menü "View-> Debug-Windows-> CPU-View" oder drücken Sie Strg+Shift+C.
- Genießen
Bekannte Probleme:
Wenn während des Wiederaufbaus Lazarus schreibt "Fatal: Die von Cpuview.reg" verwendete Einheit dlgcpuviewImplementation kann nicht gefunden werden:
- Kompilieren Sie das Paket cpuview_d erneut
- Die IDE wieder aufbauen
Die Gründe für diesen Fehler sind noch nicht klar.
Debug -Protokoll- und Crash -Dump:
Das Debug -Protokoll ist auf dem folgenden Pfad gespeichert: "Lazarus_Path config_lazarus cpuview debug.log".
Es wird erstellt, wenn das Dialogfeld CPU-View zum ersten Mal geöffnet wird, und enthält alle während der Sitzung hinzugefügten Protokolle (dh bis Lazarus endgültig geschlossen ist).
Das Protokoll der vorherigen Sitzung wird beim Start gelöscht. Wenn ein Fehler auftritt, sollten Sie die Protokolldatei für eine spätere Analyse speichern.
Wenn eine Ausnahme auftritt, wird CallStack im aktuellen Protokoll gespeichert.
Sie können die Protokollierungs- oder Crash-Dump-Sammlung in den Einstellungen "Tools-> Optionen-> Umgebung-> CPU-View" deaktivieren.
Fünf aktive Redakteure:
- Disassembler
- Register
- Entsorgen
- Stapel
- Skript und Hinweis
Häufige Merkmale:
- Betriebssystem: Windows und Linux unterstützen über GTK2 oder QT5
- Proc: Intel x86_64 (Arm noch nicht implementiert)
- Thread -Kontext (Basic, X87 und Simd Register) Vollständige Unterstützung unter Windows und Linux
- Helle und dunkle Display -Themen
- Übergreifende Unterstützung
- Unterstützt den Thread -Switching mit einer sofortigen Änderung der angezeigten Informationen zum aktiven Thread
- Befehl zum Springen der ausgewählten Adresse in einem der Fenster
- Bidirektionaler Sprungstapel in jedem Herausgeber
Das Disassembler -Fenster unterstützt:
- Ausgabedebugging -Informationen
- SPRING -Richtungsanzeige
- Aktive Sprung -Hervorhebung
- Hervorhebung des ausgewählten Registers
- Zeigt die Namen der genannten Funktionen anstelle ihrer Adressen an
- Offsets
- Zeigen Sie auf die ausgewählte Anweisung mit einem Menü an, um zu jedem Block der empfangenen Informationen zu springen
- Anweisung Färbung für einfache Code -Lesen
- Haltepunkte (Anzeige und Modifizierung)
- Lesezeichensynchronisation (noch nicht implementiert)
- Zeigen Sie den Disassembler für jeden Sprung im Tooltip an (noch nicht implementiert).
Registerfenster:
- Enthält Debugging -Informationen für jedes Register (Rax..R15)
- Display SIMD -Register (xmm und ymm) mit 12 Anzeigemodus
- Drei Anzeigemodi für x87 Register (ST-RM)
- Bitgewise -Darstellung von EFLAGs, Markierungswort, Statuswort, Kontrollwort, MXCSR -Flag -Registern (dekodiertes Marketword auf x64 integrieren)
- Ändern Sie den gesamten Registerwert und die schnelle Flaggenschaltung (x87/SIMD -Änderung noch nicht implementiert).
- Zwei Anzeigemodi (voll und kompakt)
- Schneller Hinweis auf aktive Sprunganweisungen
- Lasterror und LastStatus Code mit Beschreibung (nur Windows)
- Höhepunkt der veränderten Register
- Hervorhebung und Hinweis auf validierte Adressen
Stapelunterstützung:
- Informationen debuggen
- Aktive und frühere Rahmen hervorheben
- Absenderadress -Hervorhebung
- Offsets
- Hervorhebung und Hinweis auf validierte Adressen
Dump -Unterstützung:
- Offsets
- Mehrere Dump -Fenster
- 17 Display -Modus (Long Double 80 -Bit enthalten)
- 6 Textcodierungsmodus
- 5 Kopiermodus (Pascal Array enthalten)
- Hervorhebung und Hinweis auf validierte Adressen
- Schnelle Sprünge zu gefundenen validierten Adressen (über Strg+Click)
- Auswahl (noch nicht implementiert)
- Adresserkennung und Hervorhebung (noch nicht implementiert)
Aussehen:
Leichtes Thema:
Dunkles Thema:
Aktiver Sprung, Haltepunkte, intelligente Hinweise für ausgewählte Anweisungen und deren Menüs:
Registrieren Sie sich Hightlight:
Vollständiger Regview -Modus:
Kurzer Regview-Modus mit FPU-STX-Regs (RX und MX verfügbar):
Kurzer Regview -Modus mit XMM -Regs (YMM und Debugug verfügbar):
Verschiedene Optionen zum Anzeigen von Registern:
Stapel:
Stapel mit Offsets: