6

ライブラリ呼び出し/システム呼び出し情報とともに、行番号とファイル名(ltrace / straceで実行されているプログラムの場合)を表示できる可能性はありますか?

例えば:

code section :: ptr = malloc(sizeof(int)*5); (file:code.c, line:21)

ltraceまたはその他のツール: malloc(20) :: code.c::21

ltrace / straceのすべてのオプションを試しましたが、この情報を取得する方法がわかりません。

ltrace / straceで不可能な場合、GNU / Linux用の並列ツールオプションはありますか?

4

3 に答える 3

6

-iとでオプション(呼び出し時に命令ポインタを出力するため)を使用してstrace、コード行へのltrace呼び出しaddr2lineを解決できる場合があります。

于 2011-07-24T10:53:54.193 に答える
1

いいえそれは不可能です。この目的でgdbを使用してみませんか?

gccを使用してアプリケーションをコンパイルする場合は、-ggdbフラグを使用してデバッガー情報をプログラムに取り込み、gdbまたは同等のフロントエンド(dddなど)を使用してプログラムを実行します。

これが少し役立つgdbマニュアルです。 http://www.cs.cmu.edu/~gilpin/tutorial/

于 2011-07-24T09:53:16.600 に答える
0

各システムコールに関連付けられたスタックトレースを収集できるstrace-plusを使用できます。 http://code.google.com/p/strace-plus/

于 2013-09-12T13:09:01.243 に答える