在c語言中輸出調用棧


#include <execinfo.h>

void my_backtrace()

{

    void *buffer[100] = {NULL};

    char **trace = NULL;

    int i = 0;

    int size = 0;

 

    size = backtrace(buffer, 100);

    trace = backtrace_symbols(buffer, size);

    if (NULL == trace)

    {

        return;

    }

 

    for (i = 0; i < size; ++i)

    {

        printf("%s\n", trace[i]);

    }

 

    free(trace);

    printf("----------done----------\n");

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM