2017-02-13 5 views
0

Что такое эквивалент Linux для Solaris walkcontext? Ref: https://docs.oracle.com/cd/E19683-01/816-0213/6m6ne38fv/index.html На Linux, я получаю сообщение об ошибке, как:Linux-эквивалент Solaris walkcontext

error: walkcontext was not declared in this scope 

, когда я использую: walkcontext(&uc, walk_callback, &ctx);

+0

Там нет такой * Linux * специфической функции, но есть специальный компилятор (GCC или Clang), которые могут использоваться для получения стека вызовов функций. Если вы ищете немного, вы сможете его найти. –

ответ

0

Там нет прямого Linux эквивалента Solaris walkcontext(). Как указано в комментарии, существуют специальные методы для компилятора/платформы, такие как libunwind и _Unwind_Backtrace.

Некоторые из них красиво завернутых в источнике МККА связывает backtrace.c (для получения трассировки из запущенного процесса):

https://source.isc.org/cgi-bin/gitweb.cgi?p=bind9.git;a=blob;f=lib/isc/backtrace.c;h=1f7cd570bd28dffebb20654a692f3ee5e8079f95;hb=HEAD