Публикации по теме '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 просмотров
gdb
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 просмотров

Отслеживание вызовов функций в 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