在HP-UX上使用libunwind并获取堆栈跟踪

时间:2011-09-22 14:18:40

标签: c debugging stack-trace hp-ux

我有一个在HP-UX环境中执行的C应用程序,我需要获取堆栈跟踪。

我正在尝试使用U_STACK_TRACE,但输出到stderr正在其他地方,我需要将它打印成一个字符串。

我该怎么做?

即。如何从U_STACK_TRACE获取输出并将其放在字符串中,而不是将其写入stderr。

1 个答案:

答案 0 :(得分:1)

U_STACK_TRACE()将格式化的堆栈跟踪打印到标准错误。 _UNW_STACK_TRACE()在参数out_file指示的输出流上生成格式化的堆栈跟踪。流必须是可写的流,以便生成输出。

因此,使用fopen()打开文件并调用_UNW_STACK_TRACE()而不是U_STACK_TRACE()。