2

Fortran コードで 2 次元配列の値を出力するために GDB を使用すると問題が発生します。

(gdb) print var(1,2)
no such vector element

広範な検索の結果、問題に関する 2007 年から 2010 年までの日付の投稿が多数見つかりました。ほとんどの場合、誰かがパッチを提案して終了します。この問題は現在のリリース (私は 7.4-2012.04 を使用しています) で解決されていますか? この件に関する現在の投稿はありません。修正されたか、適切な回避策が利用可能ですか?

1つの提案は、cに切り替えることです

(gdb) set language c
(gdb) print neighbours
$47 = 0xbfaeae44
(gdb) print *neighbours
$48 = 0xbfaeae44
(gdb) print 0xbfaeae44
$49 = 3215896132

指している値を出力し、これを使用してポインター演算を行うにはどうすればよいですか?

ありがとう

4

2 に答える 2

1

考えられる解決策の 1 つは、Archer (git) http://sourceware.org/gdb/wiki/ArcherBranchManagementのブランチ archer-jankratochvil-vla から取得した gdb を使用することです。EGit(Eclipse) でダウンロードし、コンパイルして、Mandriva 2010/2011 と Ubuntu Precise Pengolin にインストールしました ( ./configuremake、 )。sudo make installこれを行うには、いくつかのパッケージをインストールする必要があります。これは、ディストリビューションによって異なります。エラーが発生した場合に備えて、不足しているパッケージを見つけるのに役立ついくつかのメッセージがあります。Ubuntu では、新しい gdb はコマンド ラインでデフォルトで起動されます。得られた gdb を Eclipse (Photran) と NetBeans で使用しました。GUI 環境では、Windows の商用 IDE のようにうまく動作します。

于 2013-02-19T22:35:05.093 に答える