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

GDB Загрузка неверной библиотеки

У меня есть две разные версии библиотеки, скажем, libxyz.so в двух разных местах 1) /home/maverick/dev/libxyz.so ( development Version) 2) /home/maverick/prod/libxyz.so ( Production Version ) У меня есть настройки, которые компилируют мою программу …
27 сен '12 в 14:09
1 ответ

Как заставить команду вызова GDB распознать новую строку в функции return

У меня есть следующее: $ cat 1.c #include <stdio.h> static char buf[1000]; const char* foo(void) { memcpy(buf, "abc", 3); buf[3] = '\n'; memcpy(buf+ 4, "def", 3); buf[7] = '\n'; buf[8] = 0; return buf; } int main() { foo(); printf("%s", buf); …
17 июн '17 в 16:53
2 ответа

GDB Во время запуска программы выход с кодом 127

Хотел использовать gdb в качестве отладчика в Linux Debian. Пытаясь запустить двоичный файл, я получаю это: (gdb) r Starting program: /usr/local/sbin/test /bin/bash: /usr/local/sbin/test: No such file or directory During startup program exited with …
24 июн '16 в 20:27
1 ответ

Как попросить GDB прерывать функцию только после ее вызова в определенное время?

Например, в моей программе есть функция NamespaceA::ClassB::FunctionC(). Я знаю, что могу попросить GDB разбить там, "break NamespaceA::ClassB::FunctionC". Но что мне делать, если я хочу, чтобы GDB ломался только после того, как эта функция вызывает…
11 окт '11 в 21:06
2 ответа

C++ STL - вручную, используя стандартные GDB красивые принтеры

Как я могу использовать StdVectorPrinter из https://github.com/gcc-mirror/gcc/blob/gcc-6_3_0-release/libstdc%2B%2B-v3/python/libstdcxx/v6/printers.py чтобы создать свой собственный вывод стиль?Т.е. использовать существующие инструменты для доступа к…
17 авг '18 в 20:15
1 ответ

GDB: не умеет читать символы

При попытке запустить мое приложение iOS на устройстве я получаю следующее от GDB, и в результате мое приложение закрывается сразу после его запуска, поэтому у меня никогда не появляется возможность отладить его. Кто-нибудь знает, что я делаю неправ…
21 авг '10 в 20:05
0 ответов

Как определить имя функции через адрес памяти?

Хотя Linux не обеспечивает pstack как Solaris делает, RedHat предоставляет скрипт может сделать то же самое: #!/bin/bash if test $# -ne 1; then echo "Usage: `basename $0 .sh` <process-id>" 1>&2 exit 1 fi if test ! -r /proc/$1; then echo…
22 окт '15 в 03:49
1 ответ

Понимание GDB и сообщений Segfault

Недавно я регулярно отлаживал приложение, в котором происходил segfaulting - я решил проблему, которая была относительно обыденной (чтение из нулевого указателя), но у меня есть несколько остаточных вопросов, которые я не смог решить самостоятельно.…
03 июн '13 в 19:30
1 ответ

Расшифровка сборки обратного вызова

В моем ассемблерном коде есть строка callq *%rcx Я понимаю, что это вызывает функцию обратного вызова, на которую указывает rcx. Тем не менее, я понятия не имею, что / где этот обратный вызов реализован / что он делает. Как я могу понять это?
04 мар '17 в 06:18
1 ответ

Как я могу присоединить GDB к процессу, запущенному в Docker-контейнере?

У меня есть длительный процесс в контейнере Docker, к которому я хотел бы присоединить GDB, чтобы посмотреть, какие потоки работают, и получить трассировки стека. Я могу присоединиться к процессу с хоста, но не могу разрешить символы, потому что исп…
28 янв '14 в 01:18
1 ответ

Трассировка из кода пользовательского пространства в пространство ядра

Недавно я настроил свою систему для отладки ядра, используя qemu + gdb. В настоящее время я могу установить точки останова, например, на __do_page_fault() и проследить звонок через gdb (с win команда). Теперь я хочу следующую задачу: простое C прогр…
22 мар '18 в 15:07
1 ответ

Стек изучения с GDB. Что такое x/[n][x] $[reg]?

Я новичок в GDB и как программное обеспечение работает на низком уровне. В настоящее время читаю книгу Джона Эриксона "HACKING the art of expoitation". Я знаю, что такое стек, что такое указатель стека, базовый указатель и т. Д. Я легко могу понять …
03 фев '17 в 21:08
1 ответ

Как установить GDB с поддержкой Python в Windows 7

Мне нужно отладить код Cython. В официальной документации сказано, что мне нужно установить "gdb 7.2 или выше, собранный с поддержкой Python". К сожалению, я не нашел пошагового руководства, как установить его на Windows 7. Нужно ли его собирать сам…
20 сен '13 в 08:48
1 ответ

GDB прерывается до того, как определенная строка записывается в std:cerr

Я отлаживаю большое приложение, и мне хотелось бы прервать работу до того, как в std::cerr, Есть ли способ сделать это? В коде есть много мест, где написана эта строка. Строка не всегда имеет форму std::cerr << "some error code"; Это может быт…
14 авг '12 в 16:28
3 ответа

Как напечатать значение std::map в gdb

У меня есть std:: map cont; Я хочу видеть продолжение [ "some_key" ] в GDB. Когда я пытаюсь p cont[ "some_ket" ] Я получаю это сообщение: один из аргументов, которые вы пытались передать оператору [], не может быть преобразован в то, что хочет функц…
21 апр '10 в 12:56
3 ответа

GDB: что-то записывает вместо взлома?

Возможно ли, чтобы GDB регистрировал что-то в терминале, вместо того, чтобы ломать его? Например, я хотел бы установить "точку останова" для какого-либо метода, и каждый раз, когда вызывается метод, нужно, чтобы gdb print self, а также параметры. По…
01 июн '11 в 19:13
2 ответа

Перевод cmp в сборке

Я новичок в сборке и столкнулся со следующим языком: cmp 0x2c(%esp),%esi Это явно пытается сравнить, но я не знаю, что такое 0x2c(%esp). Я использую GDB, поэтому команда для доступа к этому значению будет полезна. Следующая строка показывает, равны …
14 мар '14 в 22:25
1 ответ

Разница между переменными "singlestep" и "singlestep_enabled" в QEMU

Итак, я интегрирую новую конкретную арку в эмулятор QEMU (реализация в QEMU похожа на арку OpenRISC, так что вы можете положиться на нее при ответе), и я запускаю некоторые тесты.QEMU имеет версию 2.0.93 Когда я запускаю тест в обычном режиме, QEMU …
10 сен '15 в 08:41
0 ответов

Qt creator 4.4 Win7 (на Qt 5.9.1); Отладка глобальных строковых переменных не распечатана (<нет такого значения>)

Я пробую новый Qt EDI на Win, и в режиме отладки я не могу "красиво распечатать" строковые глобальные переменные в средстве просмотра "Locals and Expressions". Что удивительно, так это то, что локальные строковые переменные печатаются правильно. Ест…
28 сен '17 в 22:38
1 ответ

Отладка периодической проблемы в GDB

Я хотел бы запустить программу (которая требует аргументов) в GDB под Linux. Запуск занимает около минуты, и происходит сбой каждые 30 или около того раз. Любые идеи были бы хорошы.
29 ноя '10 в 17:41