12

LinuxのC++プログラムから、gdbで実行されるのと同様の形式でバックトレースをダンプしたいと思います。この目的のために、backtrace()関数とbacktrace_symbols()関数を使用しようとしました。これらは関数名とオフセットを返しました。__cxa_demangle()関数を使用して、読み取り可能な関数名を取得できます。

gdbによって行われるように、ファイル/行の位置も取得する方法はありますか?

4

1 に答える 1

6

プログラムからgdbを呼び出してスタックトレースを出力する方が良いですか? `

方法 #4 は、ファイル名と行を取得する方法を示しています。しかし、externプログラムを使用しています..

于 2011-11-02T10:55:07.477 に答える