Ich habe eine Funktion, die einige Male aufgerufen wird und schließlich Fehler verursacht. Ich möchte jedoch keinen Haltepunkt für diese Funktion festlegen und nach jedem Aufruf anhalten, da ich jahrelang hier sein werde. Ich habe gehört, dass ich counterin GDB einen Haltepunkt setzen kann, und jedes Mal, wenn der Haltepunkt …
Ich weiß, dass wir verschiedene Befehle verwenden können, um auf den Speicher zuzugreifen und ihn zu lesen: zum Beispiel print, p, x ... Aber wie kann ich den Speicherinhalt an einem bestimmten Ort ändern (während des Debuggens in GDB)?
Ich bin außerhalb der ausführbaren Zieldatei von gdb und habe nicht einmal einen Stapel, der diesem Ziel entspricht. Ich möchte sowieso in einem Schritt arbeiten, damit ich überprüfen kann, was in meinem Assemblycode vor sich geht, da ich kein Experte für x86-Assembly bin. Leider weigert sich gdb, dieses einfache Debuggen …
Ich habe eine Multithread-App, die auf allen meinen Testmaschinen sehr stabil ist und für fast jeden meiner Benutzer stabil zu sein scheint (basierend auf keinen Beschwerden über Abstürze). Die App stürzt jedoch häufig für einen Benutzer ab, der so freundlich war, Absturzberichte zu senden. Alle Absturzberichte (~ 10 aufeinanderfolgende Berichte) …
(gdb) n 134 a = b = c = 0xdeadbeef + ((uint32_t)length) + initval; (gdb) n (gdb) p a $30 = <value optimized out> (gdb) p b $31 = <value optimized out> (gdb) p c $32 = 3735928563 Wie kann gdb meinen Wert optimieren?
Ich versuche, ein Programm mit gdb anzuhängen, aber es gibt Folgendes zurück: Anhängen an Prozess 29139 An Prozess konnte nicht angehängt werden. Wenn Ihre UID mit der UID des Zielprozesses übereinstimmt, überprüfen Sie die Einstellung von / proc / sys / kernel / yama / ptrace_scope oder versuchen Sie es …
Ist es in gdb möglich, zu einer Zeile vor der aktuell ausgeführten Zeile zu wechseln? z.B: void my_fun( somePtrType** arr,int start,int end) { // arr is an array of pointers to somePtrType //line a ... some assignments swap(&arr[ind1] , &arr[ind2] ) ; //line b (current line ) } Ich bin …
Beim Schreiben von C / C ++ - Code muss zum Debuggen der ausführbaren Binärdatei die Debug-Option auf dem Compiler / Linker aktiviert sein. Im Fall von GCC ist die Option -g. Wie wirkt sich das auf die ausführbare Binärdatei aus, wenn die Debug-Option aktiviert ist? Welche zusätzlichen Daten werden …
Verfügt GDB über einen integrierten Skriptmechanismus, sollte ich ein Expect-Skript codieren oder gibt es eine noch bessere Lösung? Ich sende jedes Mal die gleiche Befehlsfolge und speichere die Ausgabe jedes Befehls in einer Datei (höchstwahrscheinlich unter Verwendung des in GDB integrierten Protokollierungsmechanismus, es sei denn, jemand hat eine bessere Idee).
Im Moment habe ich GDB verwendet, um eine Binärdatei zu zerlegen und verschiedene Register und so weiter zu überprüfen. Gibt es einen einfachen Befehl, um alles auf dem Stapel zu untersuchen? Kann dies auf alles in einer Funktion beschränkt werden?
Ich habe ein einfaches C-Programm, das einen Prozess abspaltet und dann eine ausführbare Datei ausführt. Ich möchte den untergeordneten Prozess an gdb anhängen. Ich führe das Hauptprogramm in einer Konsole aus und öffne eine andere Konsole, um die PID des untergeordneten Prozesses zu finden. Dann starte ich gdb mit dem …
Bei Verwendung von Eclipse und CDT zum Debuggen von C ++ - Code sind die variablen Fenster umständlich und für in der Standardvorlagenbibliothek oder in boost (z. B. shared_ptr) definierte Typen nicht sehr informativ. Nur ein Beispiel, wie dies für einen std :: vector aussehen könnte: bar {…} std::_Vector_base<TSample<MyTraits>, std::allocator<TSample<MyTraits> …
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.