|
| CallStackTracing |
UserPreferences |
| serious-code.net | RecentChanges | ±â¼úÀÚ·á | ¸µÅ© | TitleIndex | ºí·Î±× |
#include <stdio.h>
#include <signal.h>
#include <execinfo.h>
void show_stackframe()
{
void* trace[16];
int trace_size = backtrace(trace, 16);
char** messages = backtrace_symbols(trace, trace_size);
printf("[bt] Execution path:\n");
for (int i=0; i<trace_size; ++i)
printf("[bt] %s\n", messages[i]);
free(messages);
} Linux »ó¿¡¼ GCC¸¦ »ç¿ëÇÏ´Â °æ¿ì´Ù. À©µµ¿ìÁî Âʺ¸´Ù´Â ÈξÀ °£´ÜÇÏ´Ù. ÄÄÆÄÀϽÿ¡ "-rdynamic" ¿É¼ÇÀ» ÁÖ´Â °ÍÀ» ÀØÁö ¸»ÀÚ.