您的位置:首页 > 其它

一种获取过程调用堆栈信息的简单方法

2012-01-04 20:18 459 查看
在程序崩溃或出现异常时,通常需要给开发人员提供基本的过程调用的信息,这里给出一个简单的C++实现。主要思路是:过程调用的开始时,在栈上创建一个类,利用类的构造函数记录相关信息,在过程调用完毕时会自动调用析构函数,再将记录信息删除。

test.cpp#include "Track.hpp"

void Test2();

void Test1()
{
TRACK(Test1);

Test2();
}

void Test2()
{
TRACK(Test2);

//查看调用堆栈信息
const std::vector<CallStack::CallInfo>& stack = g_CallStack.GetCallStack();
}

void main()
{
TRACK(main);

Test1();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: