Der GNU Debugger (GDB) ist ein portabler Debugger, der auf vielen Unix-ähnlichen Systemen ausgeführt wird und für viele Programmiersprachen funktioniert.
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 …
Gibt es eine Möglichkeit, das Speicherleck eines laufenden Prozesses zu finden? Ich kann Valgrind verwenden, um Speicherlecks vor dem Start eines Prozesses zu finden. Ich kann GDB verwenden, um es an einen laufenden Prozess anzuhängen. Wie kann ich Speicherlecks eines laufenden Prozesses debuggen?
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 …
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?
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 …
Wenn ich den GDB-Befehl add-symbol-filezum Laden des Symbols verwende, fragt GDB mich immer 'y oder n', wie folgt: gdb> add-symbol-file mydrv.ko 0xa0070000 add symbol table from file "mydrv.ko" at .text_addr = 0xa0070000 (y or n) Wie kann man es nicht fragen und leise ausführen lassen?
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 …
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 …
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 …
Ich kenne strace und ltrace, aber das sagt mir nur, welche Systemaufrufe bzw. Bibliotheksaufrufe ein Prozess ausführt. Ich möchte genau wissen, welche Anweisungen ein Prozess ausführt. Entweder Montage oder eine Art Mittelweg zwischen C und Montage, wenn dies möglich ist. Angenommen, die Binärdatei wurde nicht mit Debug-Symbolen kompiliert, daher ist …
Wir haben Prozesse in einer Mischung aus Python, Java und C ++ geschrieben, die von Zeit zu Zeit einen Core-Dump ausführen. Sie weisen nach Bedarf zur Laufzeit mehr Speicher in Blöcken zu und stürzen bekanntermaßen ab, wenn ihre Zuordnung über 4G liegt (ich denke, der Rückgabewert von malloc()wird nicht überprüft). …
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 …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.