我希望有一种方法可以在抛出异常时向用户报告堆栈跟踪。做这件事最好的方法是什么?这需要大量的额外代码吗?
回答问题的步骤:
如果可能的话,我希望它是便携的。我希望弹出信息,这样用户就可以复制堆栈跟踪,并在出现错误时通过电子邮件发送给我。
发布于 2009-03-27 22:55:57
这取决于哪种平台。
在GCC上,这是相当微不足道的,更多细节请参见this post。
在MSVC上,您可以使用StackWalker库来处理Windows所需的所有底层API调用。
您必须找出将此功能集成到应用程序中的最佳方法,但您需要编写的代码量应该是最少的。
发布于 2017-09-11 19:08:48
如果您使用的是Boost 1.65或更高版本,则可以使用boost::stacktrace
#include <boost/stacktrace.hpp>
// ... somewhere inside the bar(int) function that is called recursively:
std::cout << boost::stacktrace::stacktrace();
发布于 2013-08-31 06:26:14
https://stackoverflow.com/questions/691719
复制相似问题