github.com/searKing/golang/go@v1.2.117/os/signal/cgo/include/boost/stacktrace/detail/collect_msvc.ipp (about) 1 // Copyright Antony Polukhin, 2016-2023. 2 // 3 // Distributed under the Boost Software License, Version 1.0. (See 4 // accompanying file LICENSE_1_0.txt or copy at 5 // http://www.boost.org/LICENSE_1_0.txt) 6 7 #ifndef BOOST_STACKTRACE_DETAIL_COLLECT_MSVC_IPP 8 #define BOOST_STACKTRACE_DETAIL_COLLECT_MSVC_IPP 9 10 #include <boost/config.hpp> 11 #ifdef BOOST_HAS_PRAGMA_ONCE 12 # pragma once 13 #endif 14 15 #include <boost/stacktrace/safe_dump_to.hpp> 16 17 #include <boost/winapi/stack_backtrace.hpp> 18 19 namespace boost { namespace stacktrace { namespace detail { 20 21 std::size_t this_thread_frames::collect(native_frame_ptr_t* out_frames, std::size_t max_frames_count, std::size_t skip) noexcept { 22 return boost::winapi::RtlCaptureStackBackTrace( 23 static_cast<boost::winapi::ULONG_>(skip), 24 static_cast<boost::winapi::ULONG_>(max_frames_count), 25 const_cast<boost::winapi::PVOID_*>(out_frames), 26 0 27 ); 28 } 29 30 31 }}} // namespace boost::stacktrace 32 33 #endif // BOOST_STACKTRACE_DETAIL_COLLECT_MSVC_IPP