The GNU Project: GDB¶
Bisheriger/interner Bezeichner: GDB
Herstellerinformationen
Hersteller |
Webseite |
Produktname |
Version |
|---|---|---|---|
The GNU Project |
The GNU Project Debugger |
Kategorien
MDL 🛈 |
APL 🛈 |
BAN 🛈 |
BMA 🛈 |
SVC 🛈 |
DGN 🛈 |
FIU 🛈 |
EES 🛈 |
FCT 🛈 |
DBG 🛈 |
IMG 🛈 |
AUDIO 🛈 |
ENVSIM 🛈 |
ENVCOM 🛈 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
✓ |
Plattform
Betriebssystem |
Unterstützung |
|---|---|
Windows |
✓ |
Linux |
✓ |
Ports¶
Besonderheiten¶
Voraussetzungen¶
Für die Verwendung des Debuggers in ecu.test wird eine GDB-Installation mit Version >= 6.0
benötigt. Damit auf Variablen über die Lesen- und Schreiben-Testschritte im Debugging-Tab
zugegriffen werden kann, muss die Programmdatei Debug-Symbole im DWARF-Format enthalten
(z.B. durch Kompilieren mit gcc -g).
Der Debugger kann lokal oder per SSH angesteuert werden, weiterhin kann eine Verbindung zu einem GDB-Server hergestellt werden.
Attach-Job des DEBUGGER-SSH-Port auf Linux-Target¶
Bei der Benutzung des Attach-Befehls auf einem Linux-Target kann es vorkommen,
dass der Fehler ptrace: Operation not permitted auftritt. Ursache dafür ist ein zu
restriktiver Wert des Kernel-Parameters kernel.yama.ptrace_scope.
Informationen zum Hintergrund und zu den möglichen Werten gibt es in der Linux-Kernel-Dokumentation.
Dieser Parameter kann mit folgendem Befehl (erfordert root-Rechte bzw. CAP_SYS_PTRACE)
so gesetzt werden, dass der Debugger sich an alle Prozesse der gleichen Benutzerkennung
anhängen darf:
sysctl -w kernel.yama.ptrace_scope=0
Um die Einstellung bei jedem Systemstart automatisch vorzunehmen, kann in den meisten
Linux-Distributionen ein entsprechender Eintrag in /etc/sysctl.conf oder einer
der *.conf-Dateien im Verzeichnis /etc/sysctl.d/ hinzugefügt bzw. der
dort vorhandene Eintrag geändert werden. Details sind der Dokumentation der jeweiligen
Linux-Distribution unter dem Stichwort sysctl.conf, sysctl.d oder
sysctl zu entnehmen.
Eigenschaften 🛈¶
Name |
Verfügbar wenn |
Standardwert |
Gültige Werte |
Typ |
Beschreibung |
|---|---|---|---|---|---|
Timeout für Toolzugriffe ❲in Sek.❳ |
‚600‘ |
string |
Zeit nach der eine Anfrage an das Tool abgebrochen wird. |