|
Boost Users : |
From: Mehdi Est (mehdiesteghamat_at_[hidden])
Date: 2020-12-05 11:57:55
Hi Everyone,
I am trying to print stack-trace using boost *HEADER-ONLY. *I am using
descriptions under Configuration and Build
<https://www.boost.org/doc/libs/1_74_0/doc/html/stacktrace/configuration_and_build.html#stacktrace.configuration_and_build.windows_deployment_and_symbol_fi>
to
compile a simple code using QT MinGW32 I also use the below macros to tune
boost:
-DBOOST_STACKTRACE_USE_WINDBG -DBOOST_STACKTRACE_USE_ADDR2LINE
-DBOOST_STACKTRACE_ADDR2LINE_LOCATION
I have no clue why the function names and line numbers are not showing up.
Any comment is appreciated.
Mike
*Below are compile and build instructions:*
g++ -g3 -DBOOST_STACKTRACE_USE_WINDBG -DBOOST_STACKTRACE_USE_ADDR2LINE
-DBOOST_STACKTRACE_ADDR2LINE_LOCATION=C:\Qt_5_12\Tools\mingw730_32\bin\addr2line.exe
-I../../../boost_1_73_0 -c main.cpp -omain.o
g++ main.o -o stack_traces.exe -L"C:\Program Files (x86)\Windows
Kits\10\Lib\10.0.19041.0\um\x86" -L"C:\temp\libbacktrace" -lkernel32
-luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -luuid
-lodbc32 -lodbccp32 -lDbgEng
*And here is the output ... *
0# 0x00402C75 in stack_traces
1# 0x00401602 in stack_traces
2# 0x004016CE in stack_traces
3# 0x0040138B in stack_traces
4# _BaseThreadInitThunk in KERNEL32
5# _RtlGetAppContainerNamedObjectPath in ntdll
6# _RtlGetAppContainerNamedObjectPath in ntdll
1 + 2 = 3
*The code (main.cpp)*
Is fairly simple as below:
#include <iostream>
#include <boost/stacktrace.hpp>
double add(double a, double b){
std::cout << boost::stacktrace::stacktrace();
std::cout << a << " + " << b << " = " << (a+b) << std::endl;
return a+b;
}
int main(){
add(1,2);
return 0;
}
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net