1

gdb を使用していくつかの Fortran コードをデバッグしていますが、組み込みの Fortran 関数の C コードをステップ実行し続けます。たとえば、write呼び出しを通り過ぎようとすると、にジャンプしwrite.cます。この動作を停止する方法はありますか? CentOS 6.3、gdb 7.2 および gfortran 4.4 を使用しています。

4

2 に答える 2

2

通常、「次」が機能するはずだと思います。しかし、Fortran についてはわかりません。何かおかしいことが起こっているのかもしれません。

もう 1 つの方法は、組み込み関数のデバッグ情報がインストールされていないことを確認することです。gdb は、debuginfo を持たない関数に「ステップ イン」しようとすると、それらの関数を自動的にスキップします。

最後の方法は、gdb をアップグレードして、まさにこのユース ケースのために追加された新しい「skip」コマンドを使用することです。

于 2013-06-24T14:14:48.663 に答える
0

クロスコンパイルされたターゲットでリモートデバッグをしているときに next が機能しないというこのような問題がありました。gdb の file コマンドを使用して間違った実行可能ファイル/シンボル テーブルをロードしたことに最終的に気付きました。次にヒットすることは、現在のコード行に関係のない場所にジャンプすることでした。私が提供した情報を考慮して、できる限りのことをしていました:)

于 2013-11-13T22:27:18.200 に答える