Анализ Backtrace of Linux Executable с отдельными файлами отладкиC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Анализ Backtrace of Linux Executable с отдельными файлами отладки

Сообщение Anonymous »

В настоящее время я пытаюсь выяснить, как проанализировать задним числом исполняемого файла Linux, где двоичный файл лишится от отладчичной информации, но они хранятся в отдельном файле. имеет обработчик Sigsegv , который выписывает Backtrace. Я написал небольшой пример: < /p>

Код: Выделить всё

crash.sh

Код: Выделить всё

#!/bin/bash

g++ -o crash crash.cpp -g -O2
objcopy --only-keep-debug crash crash.debug
strip crash
./crash
Это составят пример, скопируйте отладочную infos для crame.debug , разделите двоичный файл, а затем запустите его, что приведет к сбою.

Код: Выделить всё

crash.cpp

Код: Выделить всё

#include 

#include 
#include 

static void sigsegv_handler(int sig)
{
size_t bufsize = 100;
void *buffer[bufsize];
int numptrs;

numptrs = ::backtrace(buffer, bufsize);

char **strings;
strings = ::backtrace_symbols(buffer, bufsize);

std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79765201/analyze-backtrace-of-linux-executable-with-separated-debug-files[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»