我需要一种方法来在调试日志中记录函数堆栈跟踪以帮助我诊断缺陷。问题是我需要使用C++在Windows和Linux上实现这个功能。用于日志记录的库在运行时调用堆栈(Windows/Linux)
一个小小的研究后,我发现:
- 对于Windows实现,我可以使用StackWalk64 API函数和家人。
- 在Linux下,我发现libunwind听起来不错。
- 或者,我可以使用的glibc的backtrace
开始工作之前,我想要一些意见,如果这是正确的做法,并询问是否有一个已经写的多平台库,可以帮助。我怀疑我不是第一个需要这个的程序员。 :)
+1对于一个很好的问题很好的问道! –