版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://larryzhu.blogbus.com/logs/2335935.html
VC中如何打印当前调用堆栈
作者:朱之光
不需要依赖VC.IDE就能够随时得到当前调用堆栈的情况,对于调试bug提供了一种有力的手段。
在codeproject上找到StackWalker,作者是Jochen Kalmbach。
http://www.codeproject.com/threads/StackWalker.asp
使用方法
在程序的任意处方上以下代码即可。执行到这段代码的时候就会将当前调用堆栈信息输出到output窗口。
StackWalker sw;
sw.ShowCallstack();
你也可以定义自己的输出方式,如打印到控制台。
#include "stackwalker.h"
class ConsoleStackWalker : public StackWalker
{
public:
virtual void OnOutput(LPCSTR szText) { printf(szText); }
};
注:
如果出现
表示有可能是下面两个原因
1、pdb文件找不到
2、dbhelp.dll版本太老。请到:
浙公网安备 33010602011771号