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

GNU Debugger (GDB) - это переносимый отладчик, который работает во многих Unix-подобных системах и работает для многих языков программирования.

42
Как войти, перейти и выйти с GDB?

Я печатал, helpпока был в GDB, но ничего не нашел о переходе, переходе и выходе. Я поставил точку останова в программе сборки в _start( break _start). После этого я набрал текст, nextи он закончил отладку. Я предполагаю, что это было, потому что это закончилось _startи не вступило в действие, как я...

19
Как я могу найти утечку памяти запущенного процесса?

Есть ли способ, я могу найти утечку памяти запущенного процесса? Я могу использовать Valgrind для обнаружения утечек памяти перед началом процесса. Я могу использовать GDB, чтобы прикрепить его к запущенному процессу. Как я могу отладить утечки памяти запущенного...

17
Как скомпилировать без оптимизации -O0 с помощью CMake

Я использую Scientific Linux (SL). Я пытаюсь скомпилировать проект, который использует кучу файлов C ++ (.cpp). В каталоге user/project/Buildя ввожу, makeчтобы скомпилировать и связать все файлы .cpp. Затем я должен пойти user/run/и затем набрать./run.sh values.txt Для отладки с помощью GDB мне...

16
Может ли gdb отлаживать программы suid root?

Я написал программу, которая вызывает setuid(0)и execve("/bin/bash",NULL,NULL). Тогда я сделал chown root:root a.out && chmod +s a.out Когда я выполняю, ./a.outя получаю корневую оболочку. Однако, когда я это делаю, gdb a.outон запускает процесс как обычный пользователь и запускает...

14
Как заставить gdb не спрашивать меня «y или n»?

Когда я использую команду GDB add-symbol-fileдля загрузки символа, GDB всегда спрашивает меня 'y или n', например так: gdb> add-symbol-file mydrv.ko 0xa0070000 add symbol table from file "mydrv.ko" at .text_addr = 0xa0070000 (y or n) Как заставить его не спрашивать, а выполнять...

12
Дамп процесса ядро, не убивая процесс

Есть ли способ получить дамп ядра (или что-то подобное) для процесса, фактически не убивая процессы? У меня есть многопоточный процесс Python, работающий на встроенной системе. И я хочу иметь возможность получить снимок процесса в нормальных условиях (то есть с другими процессами, необходимыми для...

11
Зачем GDB нужен как исполняемый файл, так и дамп ядра?

Я отлаживаю с помощью дампов ядра, и обратите внимание, что gdb требует, чтобы вы предоставили как исполняемый файл, так и дамп ядра. Почему это? Если дамп ядра содержит всю память, используемую процессом, разве исполняемый файл не содержится в дампе ядра? Возможно, нет никакой гарантии, что весь...

10
История Unix: код возврата восьмеричный?

Сегодня меня застали врасплох gdb: Program exited with code 0146. gdbвыводит код возврата в восьмеричном виде ; выясняю, почему я нашел: http://comments.gmane.org/gmane.comp.gdb.devel/30363 Но это не особенно удовлетворительный ответ. Некоторый быстрый поиск в Google не раскрыл историю, поэтому я...

8
Как определить, какие инструкции выполняет процесс?

Я знаю о strace и ltrace, но это говорит только о том, что системные вызовы и вызовы библиотек выполняет процесс, соответственно. Я хотел бы точно знать, какие инструкции выполняет процесс. Либо сборка, либо какая-то золотая середина между С и сборкой, если это возможно. Предполагая, что двоичный...

1
Аудит команд GDB

Есть ли способ, которым я могу регистрировать все команды GDB, выполненные пользователем? И логирование на уровне пользователя? Может ли какой-либо другой инструмент, например, gdbserver, помочь в этом...