/** * @file mix_cc/stacktrace/stacktrace.h * @brief 异常处理类 * @author Cat (null.null.null@qq.com) * @version 0.1 * @date 2021-05-10 * * Copyright: Baosight Co. Ltd. * DO NOT COPY/USE WITHOUT PERMISSION * */ #pragma once #include #include #include #include #include namespace mix_cc { typedef boost::error_info ErrorTraced; void mix_cc_signal_handler(int signum); std::string auto_check_dump(); /** * @brief 使用USE_MIX_CC_STACK_TRACE宏,放在程序开始运行处,即可 */ #define USE_MIX_CC_STACK_TRACE \ ::signal(SIGSEGV, &mix_cc::mix_cc_signal_handler); \ ::signal(SIGABRT, &mix_cc::mix_cc_signal_handler); \ mix_cc::auto_check_dump(); } // namespace mix_cc