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