2017-09-12 21 views
3

ファイルから値を読み取るために、というコードでstd::fstreamオブジェクトがあります。 gdbデバッガ内の入力状態を確認するにはどうすればよいですか?私はprint input.fail()を試してみましたが、それは言う:C++のfstreamでgdbを使用

couldn't find method std::ifstream::fail 

答えて

1

あなたは(どこstd::fstream存在、これがある)のlibstdC++のデバッグシンボルをインストールしていないので、これが最も可能性が高いです。

あなたはちょうどあなたがにlibstdC++のデバッグシンボルなしでこのような何かを得るでしょうinput変数を印刷しようとする場合:

(gdb) p input 
$1 = <incomplete type> 

私はFedoraの上でこの問題を再現してきたし、問題がなくなって(input変数が正常に印刷されましたそしてinput.fail()が呼び出された)私は、このコマンドを使用して、デバッグ情報をインストールした後:

sudo debuginfo-install libstdc++ 

ここもstd::stringstreamのための同様の問題を参照してください。
https://www.reddit.com/r/learnprogramming/comments/5dwtbb/gdb_looking_into_streams/

関連する問題