【Linux c】大型專案的除錯技巧
阿新 • • 發佈:2018-12-22
巧妙利用列印資訊:
直接在函式裡面呼叫void print_trace(),就可以找到呼叫它的函式的層級關係
printf("!!!!!%s,%s,%d\n", __FILE__,__FUNCTION__, __LINE__); printf("!!!!!test->num_streams%d\n", test->num_streams); void print_trace(void) { void *array[10]; size_t size; char **strings; size_t i; size = backtrace (array, 10); strings = backtrace_symbols (array, size); if (NULL == strings) { perror("backtrace_synbols"); exit(0); } printf ("Obtained %zd stack frames.\n", size); for (i = 0; i < size; i++) printf ("%s\n", strings[i]); free (strings); strings = NULL; } void print_trace(void); 直接在函式裡面呼叫void print_trace(),就可以找到呼叫它的函式的層級關係