小さなレクサーをデバッグしようとしたところ、この問題が発生しました。QtCreator-Debugger は std::string-variable の内容を表示しません。コンソールでデバッグしようとしましたが、単純な構造情報だけで同じ結果が得られました。
数日前に使用した QtCreator のバージョンでは、文字列の内容が表示されました。std::vector、std::map、std::multimap などの他のすべての STL 要素は、正しいデータを表示します。正しく機能しないのは std::string クラスだけです。
数時間グーグルで調べた後、きれいなプリンターの作成について説明している多くのWebページを見つけましたが、これを修正するための私の本当に初心者のアプローチは役に立ちませんでした。このバグを取り除く方法はありますか?
注: 文字列変数の「内容」は常に「アクセス不可」と表示されます。64 ビット Linux OS 用の QtCreator 2.6 (QT5) を使用しています。
編集 (1): OS からコンパイラ、IDE まですべてを再インストールしました...奇妙なことに、最適化レベル 3 (-O3) でプロジェクトをビルドすると、QT は std::strings を表示できます。
コマンドラインは次のとおりです: clang++ -std=c++11 -O3 -g -c foo.cpp
-O3 std::strings を削除すると、<アクセスできません> になります。何か案は?