С Новым годом! Форум программистов, компьютерный форум, киберфорум
Assembler: Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 07.01.2020
Сообщений: 2
1

Отладка Release конфигурации в Linux

07.01.2020, 21:19. Показов 2592. Ответов 1

Author24 — интернет-сервис помощи студентам
Подскажите, можно ли как-то на Linux по release конфигурации и core файлу узнать место, где в программе произошла ошибка (конкретно, номер ассемблерной инструкции, которая привела к ошибке)?

При использовании gdb не понятно в каком конкретно месте упала программа:

Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00005633bd506050 in ?? ()
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.01.2020, 21:19
Ответы с готовыми решениями:

Информация о конфигурации Linux
В каком каталоге находится информация о конфигурации OS Linux ?

Отладка программы для Linux из под Windows
А не подскажите среду разработки под консольный Debian, который стоит на пк с архитектурой x86,...

Отладка в VS Code для Linux
Здравствуйте, дорогие форумчане. Кто подскажет, как запускать в VS Code проект(чтоб не прописывать...

Определение конфигурации в Simply Linux
Доброго времени суток, уважаемые участники форума. В общем, возник такой вопрос: как в Simply...

1
Модератор
2129 / 998 / 170
Регистрация: 23.07.2018
Сообщений: 3,346
Записей в блоге: 3
09.01.2020, 09:11 2
Лучший ответ Сообщение было отмечено kuzko как решение

Решение

Если есть не только core, но и исполняемый файл самой программы с кодом, который привёл к SIGSEGV, его нужно показать GDB вместе с дампом.
Bash
1
gdb program_executable_file --core=core
Содержимое разделяемых с другими процессами страниц с кодом программы в core обычно не попадает.

Когда у GDB есть доступ к коду программы, исполняемые инструкции можно просмотреть с помощью различных команд GDB:
lay asm

x/i $pc
disas $pc,+30
etc.

Если есть возможность запустить программу под управлением GDB и получить SIGSEGV, лучше так и сделать.
0
09.01.2020, 09:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.01.2020, 09:11
Помогаю со студенческими работами здесь

Ошибка в release конфигурации
Всем доброго времени суток , возникла интересная проблема !! Имеется Execute block в SQl...

STM32F103C8T6 прошивка в конфигурации Release/Debug?
Помогите пожалуйста начинающему, подготавливаю проэкты в MX-Cube компилирую в KEIL-V5 но после...

Как работают Debug\Release конфигурации
Привет друзья! Начал изучать C# (до этого кодил на Adobe Flex SDK, actionscript). Хочу ясно...

Некорректная работа функции _getch() в Release конфигурации
Всем привет. Если кратко, то есть код: #include <iostream> #include <conio.h> int main() {...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru