はじめに
アプリケーションのデバッグ中、変数の値を確認できるウィンドウがあります。そこにおいて、値の部分に
「ローカル変数または引数はこの命令ポインターで利用できないため、値を取得することはできません。最適化されている可能性があります。」
というメッセージが表示され、その値を見ることができませんでした。しかし、アプリケーション自体は動作します。何が起こっているのかわからなかったため、調べた結果のメモです。
解決方法
1.ソリューションエクスプローラーの**[エラーが起こったプロジェクトの名前]を右クリック
2.開いたメニューのプロパティをクリック
3.ビルドタブを選択
4.全般のコードの最適化**のチェックを外す
結局何が原因なのか
公式「方法:最適化されたコードをデバッグする」
https://msdn.microsoft.com/ja-jp/library/606cbtzs.aspx
VisualStudioがビルド時にコードの実行効率を上げるため、命令の再配置や再構成による最適化を行います。そのため、参照できなくなることがあるようです。
最適化した後にしか起こらないバグがある可能性があるため、最適化前後どちらもデバッグを行う必要があります。
最適化後のコードのデバッグ方法は、解決方法の4のチェックを入れてデバッグを行うことです。
終わりに
最初は何が起こったかわかりませんでしたが、エラーメッセージをググることで解決方法が見つかりました。最初にエラーメッセージをググるのがいいと思います。また、エラーを多く知っていることがデバッグを速く行うために必要なため、エラーをよく見ておこうと思いました。