Печать пакета вызовов во время выполнения (XCode)
Возможно ли это?
Я нашел решение для Visual Studio вывести n уровней callstack?
2 ответа:
Чтобы напечатать backtrace во время выполнения программно, вы можете использовать эту функцию:
#import <execinfo.h> void PrintBacktrace ( void ) { void *callstack[128]; int frameCount = backtrace(callstack, 128); char **frameStrings = backtrace_symbols(callstack, frameCount); if ( frameStrings != NULL ) { // Start with frame 1 because frame 0 is PrintBacktrace() for ( int i = 1; i < frameCount; i++ ) { printf("%s\n", frameStrings[i]); } free(frameStrings); } }
Используйте команду
bt
(илиbacktrace
в консоли gdb). Вот дополнительная информация об использовании команд.Для вывода ряда верхних уровней стеков вызовов можно использовать
bt n