0

現在、cmake を使用してビジュアル スタジオ プロジェクトをセットアップしてコンパイルすることはできますが、ソースでブレークポイントを設定することはまったくできません。元々、デバッガーで実行しようとしたときに、VS からデバッグ シンボルが見つからないという警告を受けました。これを修正するには、プロジェクトのプロパティに移動し、Linker->Debugging を選択して、"Generate Debug Info" を yes に設定しました。これで、必要な pdb ファイルが生成されますが、ソース コードにブレーク ポイントを配置すると、中空になり、ドキュメントにシンボルが読み込まれていないことがわかります。

私の質問は、ソースが pdb ファイルと一致しないのはなぜですか?これを修正するにはどうすればよいですか?

ありがとう。

簡単な例を含む git リポジトリを次に示します: https://github.com/Samurai336/CmakeSimple

4

1 に答える 1

3

ユーザーFraserのコメントを深く掘り下げたおかげで、デバッグ情報の形式を「/Zi または /ZI」に設定するかどうかを尋ねられたおかげで、問題の原因がわかりました。Zi に設定されていたので、科学をコンピューター サイエンスに戻すために、/ZI を試してみました。コンパイラは、「「/ZI」と「/02」は互換性がありません」と怒鳴りつけました。そこで今日、/02 フラグが何であるかを調べたところ、それが最大速度の最適化フラグであることに気付き、それがデバッグの問題を引き起こしている理由であるという予感がしました。フラグを '/Od'(disabled) に変更すると、それに応じてすべてのブレークが指摘されました。

ただし、これにより 1 つの大きな疑問が残ります。cmake から VS コンパイラにこれらのフラグを設定するにはどうすればよいですか?

まだ答えが見つからない場合は、おそらくこれを別の質問として提起します。

みんな助けてくれてありがとう。

于 2013-06-07T18:11:26.820 に答える