Публикации по теме 'gdb'
Отладка случайного поведения программы
Я смотрел на странный coredump на днях. Из ядра программа пыталась записать в виртуальный адрес 0x6 и вылетала на memcpy .
Там кусок кода выглядит так
if (a == 1) { do_foo(); } else { do_bar(); }
И из дампа ядра a действительно 1 . Однако выполнение взяло ветвь else и разбилось на memcpy в do_bar .
Дизассемблировал код в gdb с помощью disassemble /s . Это намного лучше, чем просто disassemble или даже disassemble /m . С оптимизацией времени компоновки..
Вопросы по теме 'gdb'
x86 перейти к адресу
В качестве назначения для класса безопасности я пытаюсь использовать __asm__("jmp 0xbffff994"); в своем коде, но когда я разбираю вещи в gdb, инструкция меняется на jmp 0xc8047e2a . Любая идея, почему и как я могу перейти к определенному адресу?
19518 просмотров
schedule
14.01.2024
Заставить GDB отображать все многострочные операторы
GDB, по крайней мере, в том виде, в каком он настроен по умолчанию на моем компьютере с Ubuntu 9.04, плохо обрабатывает многострочные операторы. Когда я просматриваю код, GDB отображает только последнюю строку текущего оператора, даже если этот...
1425 просмотров
schedule
29.10.2022
В чем причина «паники: освободиться от неправильного пула во время глобального уничтожения». в Term::ReadLine::Gnu?
в https://rt.cpan.org/Ticket/Display.html?id=37194#txn-641389 Я повторно открыл ошибку, касающуюся сбоя Perl в сочетании с привязками libreadline XS. Я приложил необходимую отладочную информацию, но до сих пор не было подтверждения от...
2079 просмотров
schedule
30.01.2024
Как изучить расширенное использование отладчика C?
Как изучить передовые методы отладки?
Я программист на C / Unix и полагаюсь на хороший отладчик C. Я знаю Sun ^ WOracle mdb на Solaris, GNU gdb на Linux. Я чувствую себя комфортно, устанавливая точки останова, исследуя структуры памяти и тому...
446 просмотров
schedule
04.01.2024
Проблема с отладчиком Eclipse CDT, v. .metadata не существует
Я пытаюсь использовать отладчик gdb/mi в Eclipse CDT версии 6.02. Во время отладки я могу легко пройтись по программе, пока не дойду до следующего фрагмента кода.
ENUM_START_TYPE My_Class::some_function( const char * c, const char * e)
{...
472 просмотров
schedule
03.09.2022
Как перечислить методы класса в gdb?
Я искал это и проверял руководство по gdb, но, похоже, не нашел ответа на то, что я пытаюсь сделать.
Есть ли способ заставить gdb распечатать список всех методов для данного типа класса? Кажется, что команда печати показывает только элементы...
15689 просмотров
schedule
16.11.2022
GDB Break, если кадр находится в обратной трассировке
Я хочу установить условие для точки останова gdb, чтобы прерываться только в том случае, если в трассировке появляется определенное имя функции. Как лучше всего это сделать?
1983 просмотров
schedule
21.11.2023
GDB - Доступ к действительным и мнимым частям комплексного числа
При отладке программы, которая использует (либо C, либо C++), gdb отображает комплексные числа как _M_value = xxx + yyy*I (с типом complex double ).
Во время отладки мне нужно напечатать это число, умноженное на коэффициент.
Следующее не...
1501 просмотров
schedule
12.10.2023
Emacs + GDB + SCons + пошаговая отладка
При компиляции проекта через make-файл с помощью команды компиляции Emacs, когда gdb запускается на результирующем двоичном файле, приложение может выполняться пошагово. Однако при сборке с использованием большого проекта с SCons попытка пошагового...
1035 просмотров
schedule
08.07.2022
Завершить программу, нажав CTRL+C в GDB
Моя программа решила остановить свое выполнение, нажав CTRL + C в командном окне. К настоящему времени у меня есть критическая ошибка прямо на этапе остановки, поэтому я хочу выполнить отладку с помощью gdb.
Проблема в том, что gdb...
16433 просмотров
schedule
31.10.2022
различное поведение между отладчиком gdb и lldb
Я загружаю массив друзей и передаю его своему uitableview, все работает, но когда я помещаю точку останова в методе:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath
с...
2575 просмотров
schedule
19.01.2024
GDB сообщает о неправильном адресе параметра в конструкторе объекта С++
Я испытываю странное поведение, когда GDB передает строку в качестве параметра конструктору. Код работает нормально, но когда я выполняю отладчик, GDB, кажется, думает, что мой параметр находится по другому адресу, чем он есть на самом деле....
1810 просмотров
schedule
03.11.2022
Отслеживание вызовов функций в C++ с помощью gdb
У меня есть система, разработанная на C++ на платформе Linux. Я занимаюсь отладкой этой системы. Я хочу найти полную последовательность вызовов функции. Предположим, что функции вызываются в следующей последовательности
function_1 ->...
3085 просмотров
schedule
07.05.2024
SIGTRAP, несмотря на отсутствие установленных точек останова; скрытая аппаратная точка останова?
Я отлаживаю эту программу для встроенной системы STM32. В одной из функций мои программы продолжают попадать в какую-то точку останова:
SIGTRAP, ловушка трассировки / точки останова
Однако в GDB, когда я делаю info breakpoints , я...
19187 просмотров
schedule
14.10.2022
gdb теряет информацию о номере строки (в модулях ядра) после точки останова
Я подключаю GDB к ядру виртуальной машины и пытаюсь отладить модуль ядра. Я могу подключиться к виртуальной машине. У меня есть символьная информация для кода ядра, и я могу легко выполнить код ядра.
Когда я добавляю файл символов для своего...
582 просмотров
schedule
15.11.2023
как увидеть пошаговое выполнение каждой строки расширения макроса с помощью gdb
у меня есть макрос, определение которого занимает около 50 строк и содержит множество операторов «если еще». Этот макрос def'n появляется в файле .h. Я запускаю «gdb в режиме TUI», но когда выполнение достигает этого макроса, окно кода становится...
8549 просмотров
schedule
24.11.2023
GDB: автоматически сглаживать структуры при печати/выгрузке в файл
У меня есть сложная структура C, которая содержит многочисленные указатели на более сложные структуры.
Во время отладки с помощью GDB я хочу иметь возможность свести структуру к экрану/файлу.
Действительно, я могу написать очень длинную красивую...
142 просмотров
schedule
28.10.2022
Отладка: отслеживание (и сравнение) дерева вызовов функций двух версий одной и той же программы.
Я работаю над переписыванием некоторого кода в программе строки C++ cmd.
Я изменил низкоуровневую структуру данных, которую она использует, и новая версия проходит все тесты (довольно много) без каких-либо проблем, и я получаю правильный вывод как...
438 просмотров
schedule
24.03.2024
Как прикрепить процесс в gdb
У меня есть простая программа на C, которая разветвляет процесс, а затем запускает исполняемый файл.
Я хочу прикрепить дочерний процесс к gdb.
Я запускаю основную программу в консоли и открываю другую консоль, чтобы найти pid дочернего процесса,...
119936 просмотров
schedule
24.11.2023
Понимание реализации массива стека (C)
Я полностью понимаю, что должен делать стек (последним пришел, первым ушел). Это только одна часть стека, которая меня смущает.
typedef struct dynArrStruct
{
char *location; //element
int length; //max size
int currSize; //top...
195 просмотров
schedule
04.05.2024