Как можно получить трассировку стека в C? - PullRequest
78 голосов
/ 20 сентября 2008

Я знаю, что для этого нет стандартной функции C. Мне было интересно, какие методы для этого в Windows и * nix? (Windows XP - моя самая важная ОС, чтобы сделать это прямо сейчас.)

Ответы [ 11 ]

0 голосов
/ 20 сентября 2008

Вы можете сделать это, пройдя стопку назад. В действительности, однако, часто проще добавить идентификатор в стек вызовов в начале каждой функции и вставить его в конец, а затем просто пройтись по этому содержимому. Это немного PITA, но он работает хорошо и в итоге сэкономит вам время.

...