デバッグ中に C++ std::strings を表示しない Xcode プロジェクトがあります。LLDB コンソール ウィンドウでステートメントを出力したり、各文字を一度に 1 つずつ出力したりする必要があり、時間がかかり、読みにくいため、非常にイライラします。
この同じプロジェクトを使用している他のすべての人が同じ問題を抱えており、他のプロジェクトはこの問題を見ていないので、これはある種のプロジェクト設定だと思います. 私はデバッグ中で、最適化がオンになっていないため、問題としてそれを排除しました。また、作業中のプロジェクトとこの問題のあるプロジェクトのプロジェクト設定を比較しましたが、すべての点で同一に見えます。
これは私が得た出力のサンプルです。*_M_p
この例では正しいです。文字列の最初の文字は疑問符です:
一度に 1 文字ずつ文字列を調べると、デバッグ コンソールに次のように表示されます。
LLVM から GDB に戻すと問題が解決する可能性があると聞いたことがありますが、GDB では特定のデータ型のデバッグに関する他の問題が発生したため、その場合は新しい問題が発生するだけです。