|
Boost Users : |
Subject: Re: [Boost-users] [stacktrace] Getting a stacktrace from unhandled exception in windows
From: Don (dm413-boost_at_[hidden])
Date: 2017-09-12 14:00:36
-------- Original Message --------
Subject: Boost-users Digest, Vol 4770, Issue 1
From: boost-users-request_at_[hidden]
To: boost-users_at_[hidden]
Date: 9/10/2017 10:56 PM
> Subject: Re: [Boost-users] [stacktrace] Getting a stacktrace from unhandled exception in windows
> From: Stian Zeljko Vrba <vrba_at_[hidden]>
> Date: 9/10/2017 10:54 PM
>
> Unless you need the stacktrace to be logged to a text file, I suggest you look at this system-provided
>facility: https://msdn.microsoft.com/en-us/library/windows/desktop/bb787181(v=vs.85).aspx
><https://msdn.microsoft.com/en-us/library/windows/desktop/bb787181%28v=vs.85%29.aspx>
>
> ...> IOW, you can get out more information than with boost.stacktrace with zero coding.
>
>> *Sent:* Monday, September 11, 2017 1:27:47 AM
>> *To:* boost-users_at_[hidden]
>> *Subject:* [Boost-users] [stacktrace] Getting a stacktrace from unhandled exception in windows
>>>> I am trying use boost stacktrace to get a stack dump when my program encounters an unhandled exception
>> under windows. I have installed a signal handler as described in the stacktrace documentation, and it
>> gets called. However, the resulting stack trace is after everything has been unwound.
>>
>> For example, when I force a failure by dereferenceing a null pointer many levels down in my function
>> hierarchy, the stack trace shows:
>>
>> Â Â Â 0# boost::stacktrace::detail::this_thread_frames::safe_dump_to_impl<char const *> at f:\home\tools\boost\boost\stacktrace\safe_dump_to.hpp:68
>> Â Â 1# boost::stacktrace::safe_dump_to at f:\home\tools\boost\boost\stacktrace\safe_dump_to.hpp:120
>> Â Â 2# my_signal_handler at f:\home\test\main.cpp:233
>> Â Â 3# 0x5171407B
>> Â Â 4# my_signal_handler at f:\home\test\main.cpp:235
>> Â Â 5# 0x51713883
>> Â Â 6# __tmainCRTStartup at f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c:603
>> Â Â 7# WinMainCRTStartup at f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c:403
>> Â Â 8# BaseThreadInitThunk in kernel32
>> Â Â 9# RtlInitializeExceptionChain in ntdll
>> 10# RtlInitializeExceptionChain in ntdll
>>
>> This is not particularly helpful, of course -- I want to know the call stack at the point of the
>> failure. Is there any way to get that? What am I missing?
Thanks for the suggestion, but yes, I want to log the data to a log file. It seems from the stacktrace documentation that this should work.
Don
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