[英]How to get exception trace stack with C++ in VS2017
虽然不是您问题的直接答案,但我想指出,您可以以跨平台的方式获得很好的回溯,仅使用标准 C++11 ,无需调试器或繁琐的日志记录:
std::nested_exception
和std::throw_with_nested
在此处和此处的StackOverflow 上进行了描述,您可以通过简单地编写将重新抛出嵌套异常的适当异常处理程序来获取代码中异常的回溯。 但是,它要求您在要跟踪的函数中插入try/catch
语句。
由于您可以使用任何派生的异常类来执行此操作,因此您可以向此类回溯添加大量信息! 您还可以查看我在 GitHub 上的 MWE或我的“跟踪”库,其中的回溯如下所示:
Library API: Exception caught in function 'api_function'
Backtrace:
~/Git/mwe-cpp-exception/src/detail/Library.cpp:17 : library_function failed
~/Git/mwe-cpp-exception/src/detail/Library.cpp:13 : could not open file "nonexistent.txt"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.