2011-08-15 30 views
0

その関数が呼び出されるまで、バックトレースを出力するC関数を書く方法。 私はライブラリを使用したくありません。私は自分のコードを書いてその仕事をしたいと思います。
誰でもこのタスクを達成するための入力をお願いできますか?バックトレースを印刷する独自の関数を書く方法

+0

どのプラットフォームとコンパイラを使用していますか? – Mat

+2

あなたがソースコードを計測しない限り、ポータブルCでは不可能です。 –

答えて

1

はこれを行うにはポータブルな方法はありませんが、gccが__builtin_return_addressや友人とそれを行うには、途中、きれいな方法を提供します。

3

あなたは、ポータブルCでこのような関数を書くことができない、あなたは特定のプラットフォームを知り、あなたのコンパイラで使用される規則を呼び出すことなく、それを書き込むことはできません。したがって、あなたの質問(現時点では)は、答えに必要なすべての詳細が欠けています。

あなたはバックトレースは、()、一般的にどのように動作するかを知りたい場合は、利用可能な実装の任意の数を調べることができます。

スクラッチ(宿題?)を実装する場合は、お使いのプラットフォームの呼び出し規約を調べてください。

関連する問題