0 / 0 / 0
Регистрация: 22.10.2018
Сообщений: 1
1

Пытаюсь вывести подробно стек вызовов используя boost::stacktrace на винде в программе на c++

13.06.2022, 17:44. Показов 633. Ответов 0

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток! Используя boost собранный под minGW 8.1 и Qt Creator пытаюсь подробно вывести стек вызовов как в примерах :

Код
    0# bar(int) at /path/to/source/file.cpp:70
    1# bar(int) at /path/to/source/file.cpp:70
    2# bar(int) at /path/to/source/file.cpp:70
    3# bar(int) at /path/to/source/file.cpp:70[CODE]
4# main at /path/to/main.cpp:93
5# __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
6# _start[/CODE]

В моём тестовом проекте не выводит имя функции и номер строки исходника.
Пробовал собирать boost и проект MSCV, вся нужная информация выводится, но мне нужен именно minGW, так как основной проект очень большой и нормально собирается только под minGW.
Вот тут https://www.boost.org/doc/libs... ecific_not в примечаниях для minGW сказано, что нужно установить libbacktrace для улучшения трассировки стека и приложена инструкция.
Библиотеку libbacktrace я скачал уже собранную, далее поправил файл project-config.jam согласно инструкции.

Код
    # Boost.Build Configuration 
    # Automatically generated by bootstrap.bat 
     
    import option ; 
     
    using gcc : 8 : "E:\Qt\Tools\mingw810_64\bin\g++.exe" : -I"E:\lib\" -L"E:\lib\" ;

option.set keep-going : false ;
Затем вызываю в cmd команду
Код
b2.exe toolset=gcc-8 --with-stacktrace
Появляется следующая ошибка

Код
    project-config.jam:6: Unescaped special character in argument -IE:lib" -LE:lib"
    E:/boost_1_79_0/tools/build/src/tools\common.jam:1104: in common.find-compiler from module common
    error: toolset gcc initialization:
    error: provided command '"E:QtToolsmingw810_64bing++.exe"' not found
    error: initialized from project-config.jam:6
    E:/boost_1_79_0/tools/build/src/tools\gcc.jam:165: in gcc.init from module gcc
    E:/boost_1_79_0/tools/build/src/build\toolset.jam:44: in toolset.using from module toolset
    E:/boost_1_79_0/tools/build/src/build\project.jam:1104: in using from module project-rules
    project-config.jam:6: in modules.load from module project-config
    E:/boost_1_79_0/tools/build/src\build-system.jam:255: in load-config from module build-system
    E:/boost_1_79_0/tools/build/src\build-system.jam:486: in load-configuration-files from module build-system
    E:/boost_1_79_0/tools/build/src\build-system.jam:607: in load from module build-system
    E:/boost_1_79_0/tools/build/src/kernel\modules.jam:294: in import from module modules
    E:/boost_1_79_0/tools/build/src/kernel/bootstrap.jam:139: in boost-build from module
    E:/boost_1_79_0/boost-build.jam:17: in module scope from module
Подскажите, пожалуйста, что можно сделать? Возможно я неправильно использую команды или некорректно настроил файл project-config.jam. Или возможно есть более простое решение моей задачи? Для меня главное, чтобы решение работало в Qt Creator, на винде и проект мог быть собран под minGW.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2022, 17:44
Ответы с готовыми решениями:

Ошибка, пытаюсь подключить boost к Visual Studio используя cmake
Код и всю информацию закрепил на скринах, что не так, уже сколько сижу не могу понять:( ...

Стек-трейс (StackTrace) содержит методы invoke
Что за invoke0, invoke вылазят при выводе Stack Trace на экран? Где-то слышал, что это IDE...

Используя стек, проверить правильность вложений в этой программе
Нужна помощь с выполнением данного задания (В файле находится текст программы на Паскале....

Используя стек, написать препроцессор, проверяющий правильность вложений циклов в программе на Фортране
Задача 1. В файле находится текст программы на языке FORTRAN. Написать, используя стек ,...

Используя стек, проверить правильность вложений операторных скобок (begin - end) в программе на Паскале
В файле находится текст программы на Паскале. Используя стек, проверить правильность вложений...

0
13.06.2022, 17:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.06.2022, 17:44
Помогаю со студенческими работами здесь

Стек вызовов
в данное время изучаю Javascript. дошла до исключений и встретила понятие "вверх по стеку". что оно...

Стек вызовов
Прочитал про то, что память не очищается после очистки стека от функции и просто освобождается....

В файле находится текст программы на Паскале. Используя стек, проверить правильность вложений циклов в этой программе
Текст: uses crt; type pStackItem = ^ TStackItem; TStackItem = record next: pStackItem;...

Стек вызовов вложенных подпрограмм
Существует проект VBA, содержащий множество подпрограмм (процедуры, функции, свойства класса,...

Как получить полный стек вызовов
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(Abstract...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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