Использование libunwind в HP-UX и получение трассировки стека - PullRequest
0 голосов
/ 22 сентября 2011

У меня есть приложение C, которое выполняется в среде HP-UX, и мне нужно получить трассировку стека.

Я пытаюсь использовать U_STACK_TRACE, но вывод в stderr идет куда-то еще, и мне нужно, чтобы он был напечатан в строку.

Как я могу это сделать?

т.е. Как я могу взять вывод из U_STACK_TRACE и поместить его в строку вместо того, чтобы записывать в stderr.

1 Ответ

1 голос
/ 22 сентября 2011

U_STACK_TRACE () печатает отформатированную трассировку стека со стандартной ошибкой. _UNW_STACK_TRACE () создает отформатированную трассировку стека в выходном потоке, указанном параметром out_file. Поток должен быть записываемым потоком для вывода, который будет произведен.

Итак, откройте файл с помощью fopen () и вызовите _UNW_STACK_TRACE () вместо U_STACK_TRACE ().

...