c++ - Stack information disappears when I add exception information to my minidump -


i'm writing out of process minidump child process. here relevant code snippet:

context thread_context{}; thread_context.contextflags = context_full; assert(getthreadcontext(child_thread_handle, &thread_context));  exception_pointers exception_ptrs; exception_ptrs.exceptionrecord = &exception_info.exceptionrecord; exception_ptrs.contextrecord = &thread_context;  minidump_exception_information minidump_exception_info; minidump_exception_info.threadid = evt.dwthreadid; minidump_exception_info.exceptionpointers = &exception_ptrs; minidump_exception_info.clientpointers = false; auto success = minidumpwritedump(child_handle, evt.dwprocessid, file_handle, minidump_flags, &minidump_exception_info, nullptr, nullptr); 

this gives me exception information, , call stack every thread except thread raised exception. if change &minidump_exception_info nullptr, call stack no exception information. there way both exception information , call stack?

calling getthreadcontext context_full not capture registers needed stack trace, , existence of context prevents debugger using other information call stack. using context_all instead gets enough information recreate call stack.

https://msdn.microsoft.com/en-us/magazine/hh580738.aspx helpful reference in figuring out.


Comments

Popular posts from this blog

android - Gradle sync Error:Configuration with name 'default' not found -

java - Andrioid studio start fail: Fatal error initializing 'null' -

html - jQuery UI Sortable - Remove placeholder after item is dropped -