码迷,mamicode.com
首页 > 系统相关 > 详细

linux之backtrace

时间:2015-03-30 10:49:43      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

backtrace用于打印函数调用堆栈

/*******************************************************************************
* File Name        : backtrace.c
* Author        : zjw
* Email            : zjw_0722@163.com
* Create Time    : 2015年03月30日 星期一 09时44分15秒
*******************************************************************************/
#include <execinfo.h>
#include <stdio.h>
#include <stdlib.h>

void print_trace()
{
    void *array[10];
    int size = 0;
    char **strings = NULL;
    int i = 0;

    size = backtrace(array, 10);
    strings = backtrace_symbols(array, size);
    if (strings == NULL)
    {
        perror("backtrace_symbols");
        exit(-1);
    }

    printf("Obtained %zd stack frames.\n", size);

    for (i = 0; i < size; i++)
    {
        printf("%s\n", strings[i]);
    }

    free(strings);
    strings = NULL;
}

void dump_function()
{
    print_trace();
}

int main(int argc, char **argv)
{
    dump_function();

    return 0;
}

 

linux之backtrace

标签:

原文地址:http://www.cnblogs.com/lit10050528/p/4377228.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!