Als «gdb» getaggte Fragen

Der GNU Debugger (GDB) ist ein portabler Debugger, der auf vielen Unix-ähnlichen Systemen ausgeführt wird und für viele Programmiersprachen funktioniert.

2
Wie kann man mit GDB ein-, aussteigen und überschreiten?
helpWährend ich in der GDB war, habe ich getippt , aber nichts über Einsteigen, Übersteigen und Aussteigen gefunden. Ich habe einen Haltepunkt in ein Assembly-Programm in _start( break _start) eingefügt . Danach habe ich getippt nextund das Debuggen beendet. Ich denke, es war, weil es fertig war _startund nicht so …


3
So kompilieren Sie ohne Optimierungen -O0 mit CMake
Ich benutze Scientific Linux (SL). Ich versuche, ein Projekt zu kompilieren, das eine Reihe von C ++ (.cpp) -Dateien verwendet. In das Verzeichnis gebe user/project/Buildich ein make, um alle CPP-Dateien zu kompilieren und zu verknüpfen. Ich muss dann gehen user/run/und dann tippen./run.sh values.txt Um mit GDB zu debuggen, muss ich …

2
Was bedeutet C @ t {++} in der GDB-Manpage?
Ich habe die Manpage für gdb gelesen und bin auf die folgende Zeile gestoßen: You can use GDB to debug programs written in C, C@t{++}, Fortran and Modula-2. Das C @ t {++} sieht aus wie ein regulärer Ausdruck, aber ich kann es scheinbar nicht dekodieren. Was bedeutet es?
16 man  documentation  gdb 

2
Kann gdb suid root-Programme debuggen?
Ich habe ein Programm geschrieben, das setuid(0)und aufruft execve("/bin/bash",NULL,NULL). Dann habe ich getan chown root:root a.out && chmod +s a.out Beim Ausführen ./a.outerhalte ich eine Root-Shell. Wenn ich dies tue gdb a.out, wird der Prozess jedoch als normaler Benutzer gestartet und eine Benutzer-Shell gestartet. Also ... kann ich ein setuid-Root-Programm …
16 debugging  setuid  gdb 


2
Prozesskern entleeren, ohne den Prozess zu beenden
Gibt es eine Möglichkeit, einen Core-Dump (oder ähnliches) für einen Prozess zu erstellen, ohne die Prozesse tatsächlich zu beenden? Ich habe einen Multithread-Python-Prozess auf einem eingebetteten System ausgeführt. Und ich möchte in der Lage sein, einen Schnappschuss des Prozesses unter normalen Bedingungen (dh mit den anderen Prozessen, die ausgeführt werden …

3
Warum benötigt GDB sowohl die ausführbare Datei als auch den Core Dump?
Ich debugge mit Core-Dumps und stelle fest, dass gdb Sie benötigt, um sowohl die ausführbare Datei als auch den Core-Dump bereitzustellen. Warum ist das? Wenn der Core-Dump den gesamten vom Prozess verwendeten Speicher enthält, ist die ausführbare Datei dann nicht im Core-Dump enthalten? Vielleicht gibt es keine Garantie dafür, dass …
11 core-dump  gdb 

2
Unix-Verlauf: Rückkehrcode oktal?
Ich wurde heute überrascht von gdb: Program exited with code 0146. gdbdruckt den Rückkehrcode in Oktal ; Ich habe untersucht, warum ich Folgendes gefunden habe: http://comments.gmane.org/gmane.comp.gdb.devel/30363 Das ist aber keine besonders befriedigende Antwort. Ein kurzes Googeln enthüllte die Geschichte nicht, also hoffte ich, dass jemand auf SO die Hintergrundgeschichte kennen …
10 gdb  history 



6
Programm mit niedrigerer CPU-Geschwindigkeit ausführen?
Es wäre sehr nützlich für mich, bestimmte Programme in einer Linux-Umgebung mit einer festen (niedrigeren) CPU-Taktrate auszuführen (z. B. runat 400mhz ./my-program --argument-of="my program"um diese Taktrate zu erhalten). Ich brauche es, um Verzögerungen zwischen den einzelnen Assembly-Anweisungen meines Programms zu erzeugen, und es würde mich nicht töten, wenn die Verzögerung …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.