Вопросы с тегом «gdb»

Используйте этот тег для проблем, связанных с GDB, стандартным отладчиком программной системы GNU.

2
GCC -g vs -g3 Флаг GDB: в чем разница?
При компиляции исходного кода C с помощью gcc или Clang я всегда использую этот -gфлаг для генерации отладочной информации для gdb. gcc -g -o helloworld helloworld.c Я заметил, что некоторые рекомендуют -g3вместо этого. В чем разница между -gи -g3флагами? Также есть разница между -gи -ggdb?
104 c  debugging  gcc  gdb  clang 


4
Запускать приложение в GDB до возникновения исключения
Я работаю над многопоточным приложением и хочу отлаживать его с помощью GDB. Проблема в том, что одна из моих тем продолжает умирать с сообщением: pure virtual method called terminate called without an active exception Abort Я знаю причину этого сообщения, но понятия не имею, где оно происходит в моей цепочке. …

3
Как можно увидеть содержимое стека с помощью GDB?
Я новичок в GDB, поэтому у меня есть несколько вопросов: Как я могу посмотреть содержимое стека? Пример: чтобы увидеть содержимое реестра, я набираю info registers. Для стека что это должно быть? Как я могу увидеть содержимое $0x4(%esp)? Когда я печатаю print /d $0x4(%esp), GDB выдает ошибку. Платформа: Linux и GDB
102 c  assembly  gdb 

4
Как загрузить программу, читающую stdin и принимающую параметры в gdb?
У меня есть программа, которая принимает ввод из стандартного ввода, а также принимает некоторые параметры из командной строки. Выглядит это так: cat input.txt > myprogram -path "/home/user/work" Пытаюсь отладить код с помощью gdb внутри emacs, с помощью Mx gdb, пытаюсь загрузить программу командой: gdb cat input.txt > myprogram -path "/home/user/work" …


2
Как сломать инструкцию по сборке по заданному адресу в gdb?
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 Я старался: breaki 0x0000000000400448 но вроде там не такая команда. Есть ли в gdb такая возможность?
97 assembly  gdb 


3
Как установить точки останова в будущих разделяемых библиотеках с помощью флага команды
Я пытаюсь автоматизировать сеанс gdb с помощью --commandфлага. Я пытаюсь установить точку останова для функции в разделяемой библиотеке (эквивалент DLL в Unix). Мой cmds.gdb выглядит так: set args /home/shlomi/conf/bugs/kde/font-break.txt b IA__FcFontMatch r Однако я получаю следующее: shlomi: ~ / progs / bugs-external / kde / font-break $ gdb --command = …
94 c++  c  linux  unix  gdb 

7
Проверка содержимого стандартного контейнера (std :: map) с помощью gdb
Предположим, что есть что-то вроде этого: #include <map> int main(){ std::map<int,int> m; m[1] = 2; m[2] = 4; return 0; } Я хотел бы иметь возможность проверить содержимое карты, запускающей программу из gdb. Если я попробую использовать оператор индекса, я получу: (gdb) p m[1] Attempt to take address of value …
93 c++  stl  map  gdb 

5
gdb: «Таблица символов не загружена»
Я продолжаю получать это сообщение об ошибке при попытке добавить точку останова в gdb. Я использовал эти команды для компиляции: 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 Я также пробовал «-ggdb» вместо «-g», но все равно …
93 c  gdb 

5
Как автоматически запустить исполняемый файл в GDB?
Я бы хотел gdbсразу запустить исполняемый файл, как если бы я набрал «запустить» (мотивация: мне не нравится печатать «запустить»). Один из способов - передать команду gdbтак: $ echo run | gdb myApp Но проблема с этим подходом в том, что вы теряете интерактивность gdb, например. если срабатывает точка останова или …
92 gdb 


2
Сохранение файла ядра в gdb
Можно ли сохранить / выгрузить файл ядра с помощью gdb? Иногда мне хочется сохранить файл, чтобы потом проанализировать его.
91 gdb  core-file 

5
В чем разница между gcc -ggdb и gcc -g
Когда я использую gcc для компиляции программ на C, я обычно использую -gдля получения некоторой отладочной информации в файл elf, чтобы gdb мог мне помочь в случае необходимости. Однако я заметил, что некоторые программы используют -ggdb, поскольку это должно сделать информацию отладки более удобной для gdb. Чем они отличаются и …
90 gcc  gdb 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.