Описание тега backtrace

Обратная трассировка - это серия активных в данный момент вызовов функций программы.
2 ответа

Нормально ли для статической инициализации C++ дважды появляться в одной и той же трассировке?

Я пытаюсь отладить программу на C++, скомпилированную с GCC, которая зависает при запуске. Мьютекс GCC защищает статические локальные переменные функции, и кажется, что ожидание получения такой блокировки - вот почему она зависает. Как это происходи…
14 апр '10 в 21:38
1 ответ

Влияние / недостатки rdynamic gcc option

Я работал над проектом Big C++, который имеет огромный источник размером около 300 МБ и более 800 файлов. Я хочу получить стек вызовов при двоичных сбоях, поэтому я захватил сигнал и записал стек вызовов из backtrace_symbols в файл. Но чтобы получит…
10 дек '13 в 09:54
1 ответ

Получить текущий путь выполнения из библиотеки C

Я пишу библиотеку логгера на C и в настоящее время пытаюсь получить лучший вывод трассировки с помощью addr2line, Для этого мне нужно иметь возможность получить путь к текущему исполняемому файлу. На данный момент я просто обеспокоен Linux, но буду …
11 янв '14 в 04:20
2 ответа

backtrace_symbols() с -static и -rdynamic

Глядя на этот вопрос и этот вопрос, я вижу, что для backtrace_symbols() чтобы работать, надо скомпилировать -rdynamic флаг. Я пробовал это в тестовой программе, и она работает, но я пишу программу, которая также скомпилирована с -static и эта страни…
09 ноя '12 в 12:09
3 ответа

Создание метода для ссылки на список родительских массивов

Поэтому я задал вопрос, похожий на этот, но я не думаю, что полученный мной ответ работал с тем, что я пытался сделать. Скажем, у меня есть этот класс: Java-код public class Section { private String sDocumentTitle; private String sHeadingTitle; priv…
11 июл '11 в 15:00
3 ответа

Есть ли addr2line, которая анализирует код в памяти?

Я использую addr2line проанализировать трассировку стека после возникновения исключения (используя backtrace и backtrace_symbols). В настоящее время требуется около 2 секунд для анализа двоичного файла размером 120 МБ (отладочная сборка) с диска. Су…
29 июн '12 в 08:18
2 ответа

PHP: Показать пользовательскую ошибку внутри тела

Я хочу добавить пользовательские ошибки во многих местах в некоторых интерфейсах, которые я создаю. Просто использование эха внутри моей функции размещает этот код поверх тега на моей странице. Итак, я построил пользовательскую функцию для обработки…
31 янв '10 в 22:34
1 ответ

MIPS GDB не загружает общую информацию о библиотеке автоматически

Я видел gdb чтение и загрузка символов автоматически. (например, чтение кода ниже ld-linux-x86-64.so.2) ---------- gdb 86exec 86core ... Reading symbols from 86exec...done. Illegal process-id: 86core. [New Thread 14983] [New Thread 14978] [New Threa…
17 апр '13 в 13:15
2 ответа

Смещение карликов и общие объекты против исполняемых файлов

Хорошо, я использовал библиотеку Linux Dwarf ldw для преобразования вывода backtrace_symbols в исходный код и номера строк, но я столкнулся с проблемой. backtrace_symbols дает смещения в памяти, из которых я вычитаю базовый адрес (полученный с помощ…
12 июл '16 в 18:28
0 ответов

Как интерпретировать обратную трассировку, создаваемую стопкой, в читаемый формат?

Я начал использовать утилиту Stackshot для отладки моего исполняемого файла и получил журнал ниже. Я использовал команду: sudo /usr/libexec/stackshot -i -p [pid] Тем не менее, я не вижу простого способа интерпретации функции backtrace в удобочитаемо…
12 авг '15 в 10:29
1 ответ

Объедините флаги и четкую обратную трассировку в котлине

Я использую Kotlin для разработки приложений для Android. В Android мы использовали addFlags и setFlags для установки флагов и очистки действий обратной трассировки, разделенных символом "|". Как этого добиться в Котлине? В настоящее время я использ…
05 сен '17 в 06:29
2 ответа

Неверные номера строк в addr2line

Я пытаюсь найти точную строку вызова в backtrace в программе на C++. Прямо сейчас я использую эти строки (со страницы руководства backtrace), чтобы получить трассировку: void *bt_buffer[1000]; char **bt_strings; int bt_nptrs = backtrace(bt_buffer, 1…
20 июл '12 в 12:35
1 ответ

Является ли CaptureStackBackTrace однопоточным?

Я знаю, что StackWalk64 является однопоточным, как и все функции dbghelp, как это четко указано в документации MSDN. http://msdn.microsoft.com/en-us/library/windows/desktop/ms680650(v=vs.85).aspx "Все функции DbgHelp, такие как эта, являются однопот…
26 июл '13 в 17:48
1 ответ

Monodevelop неверный указатель сбой

Я скачал MonoDevelop из репозиториев Debian Testing и попытался его использовать, сначала все прошло нормально, программа запускается красиво, но когда дело доходит до создания проекта или решения или даже открытия файла, он внезапно падает, я откры…
21 мар '17 в 17:44
2 ответа

Возвращение стека потоков при прерывании работы программы под valgrind

У меня есть серверная программа, которая не имеет очень чистого / изящного завершения работы (обычно не завершается). При отслеживании утечек памяти я запускаю его под valgrind, но в конце концов должен завершить процесс сигналом (^C). Обычно я пыта…
21 дек '09 в 20:50
0 ответов

Необработанный номер строки NSException?

Я использую обработчик исключений в моем AppDelegate. NSSetUncaughtExceptionHandler(&HandleExceptions); Я могу получить след исключения, используя NSException"s callStackSymbols Это дает следующие детали. 0 CoreFoundation 0x01cfe02e __exceptionP…
20 июн '13 в 16:14
1 ответ

Использование GDB Backtrace для отладки MPI-кода

Использование GDB с backtrace дает следующий вывод, [Thread debugging using libthread_db enabled] [New Thread 0x2aaaaffd3700 (LWP 32109)] [Thread 0x2aaaaffd3700 (LWP 32109) exited] Detaching after fork from child process 32110. Detaching after fork …
24 мар '15 в 10:41
0 ответов

Как передать код выхода по GDB из автоматического теста

Я выполняю свои модульные тесты внутри контейнера докера через постоянную интеграцию. Иногда я сталкиваюсь с segfaults некоторыми параллельно выполняемыми функциями. Я хочу использовать GDB для печати трассировки в случае сбоя. Я пытался использоват…
0 ответов

Обратная трассировка не завершена трассировка стека

Я читаю backtrace() Использование в C. Существует официальный пример на странице man Linux, как показано ниже. #include <execinfo.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> void myfunc3(void) { int j, nptrs…
25 авг '17 в 08:49
3 ответа

Получение собственного Android Crash /system/lib64/libc.so (tgkill+8) на определенных устройствах

Я получаю эту трассировку стека на Google Android Vitals для определенных устройств, в основном устройств Redmi от Xiaomi. Вот список устройств А вот и мой app.gradle buildscript { repositories { maven { url 'https://maven.fabric.io/public' } } repo…