Je travaille sur une application multithread et je souhaite la déboguer à l'aide de GDB. Le problème est que l'un de mes fils continue de mourir avec le message: pure virtual method called terminate called without an active exception Abort Je connais la cause de ce message, mais je ne …
Lors de la compilation du code source C avec gcc ou Clang, j'utilise toujours l' -gindicateur pour générer des informations de débogage pour gdb. gcc -g -o helloworld helloworld.c J'ai remarqué que certaines personnes recommandent à la -g3place. Quelle est la différence entre les indicateurs -get -g3? Y a-t-il également …
J'ai un programme qui prend l'entrée de stdin et prend également quelques paramètres de la ligne de commande. Cela ressemble à ceci: cat input.txt > myprogram -path "/home/user/work" J'essaye de déboguer le code avec gdb dans emacs, par Mx gdb, j'essaye de charger le programme avec la commande: gdb cat …
Actuellement, lorsque j'imprime la valeur d'une variable vdans GDB ( print v), j'obtiens un entier. Est-il possible que GDB imprime ces variables entières en hexadécimal ou en binaire?
0x0000000000400448 <main+0>: push %rbp 0x0000000000400449 <main+1>: mov %rsp,%rbp 0x000000000040044c <main+4>: mov $0x6,%eax 0x0000000000400451 <main+9>: leaveq 0x0000000000400452 <main+10>: retq J'ai essayé: breaki 0x0000000000400448 mais il semble qu'il n'y ait pas une telle commande. Est-ce que gdb a une telle fonctionnalité?
Je suis nouveau sur GDB, j'ai donc quelques questions: Comment puis-je consulter le contenu de la pile? Exemple: pour voir le contenu du registre, je tape info registers. Pour la pile, que devrait-il être? Comment puis-je voir le contenu de $0x4(%esp)? Quand je tape print /d $0x4(%esp), GDB donne une …
J'essaye d'automatiser une session gdb en utilisant le --commanddrapeau. J'essaie de définir un point d'arrêt sur une fonction dans une bibliothèque partagée (l'équivalent Unix d'une DLL). Mon cmds.gdb ressemble à ceci: set args /home/shlomi/conf/bugs/kde/font-break.txt b IA__FcFontMatch r Cependant, j'obtiens ce qui suit: shlomi: ~ / progs / bugs-external / kde …
En supposant avoir quelque chose comme ça: #include <map> int main(){ std::map<int,int> m; m[1] = 2; m[2] = 4; return 0; } Je voudrais pouvoir inspecter le contenu de la carte exécutant le programme depuis gdb. Si j'essaye d'utiliser l'opérateur d'indice, j'obtiens: (gdb) p m[1] Attempt to take address of …
J'aurais aimé gdblancer immédiatement l'exécutable, comme si j'avais tapé "run" (motivation: je n'aime pas taper "run"). Une façon est de diriger la commande pour gdbaimer ceci: $ echo run | gdb myApp Mais le problème avec cette approche est que vous perdez l'interactivité avec gdb, par exemple. si un point …
Je continue à recevoir ce message d'erreur en essayant d'ajouter un point d'arrêt dans gdb. J'ai utilisé ces commandes pour compiler: gcc -g main.c utmpib2.c -o main.o and: cc -g main.c utmpib2.c -o main.o and also: g++ -g main.c utmpib2.c -o main.o J'ai aussi essayé "-ggdb" au lieu de "-g" …
Lorsque j'utilise gcc pour compiler des programmes C, j'utilise habituellement -gpour obtenir des informations de débogage dans le fichier elf afin que gdb puisse m'aider si nécessaire. Cependant, j'ai remarqué que certains programmes l'utilisent -ggdb, car ils sont censés rendre les informations de débogage plus conviviales pour gdb. En quoi …
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.