質問: VisualStudio2017を2つ開いてC#のライブラリと、そのライブラリを使った実行ファイルの双方のデバッグをしています。 当初はどちらのVisualStudioでもブレークポイントを設定できていたのですが、いつのまにか、ライブラリのデバッグでブレークポイントの設定が効かなくなってしまいました。 ブレークポイントのマークが白抜き赤枠の○になっており、下記のエラーメッセージが表示されます。 「ブレークポイントは、現在の設定ではヒットしません。このドキュメントのシンボルが読み込まれていません。」 pdbファイルが壊れたのかと思い、双方のVisualStudioでソリューションのクリーン、リビルドをしてみましたが状況は変わりません。 ライブラリのソースに変更を加えた場合は、ライブラリのビルドに加えて、実行ファイルのソリューションでもビルドを実行し、ライブラリ、実行ファイル共に最新の状態になっているはずです。 実行ファイルのソリューションを使ってライブラリの中までたどれるので、ライブラリのデバッグが全くできないわけではないのですが、ライブラリのソリューションからデバッグできないのは不便です。 どのようにすれば元通りになるのか確認すべきポイントなどご助言いただけないでしょうか?よろしくお願いします。 現在の設定 ライブラリのソリューションの設定(異常動作-ブレークポイントがヒットしない) プロジェクト→(ライブラリ)のプロパティ 開始動作→外部プログラムの開始 →(デバッグビルドされた実行ファイルのフルパス) 実行ファイルのソリューションの設定(正常動作) プロジェクト→参照の追加→参照 →(デバッグビルドされたライブラリ)にチェック 以上
回答: 原因についてはなにも解決していないのですが、デバッグはできる状況になっているので解決済みとします。 ブレークポイントがヒットしない状況があったのは確かなのですが、現状は、デバッグ開始直後にブレークポイントがヒットしない表示(白抜き赤枠の○)になるものの、ボタンを押して処理を開始すると、ブレークポイントが赤丸になってヒットする表示になり、ブレークポイントの該当箇所できちんと停止するようになっています。 開始直後に白抜き赤枠表示になるのは、アプリの処理をTask.Run()で別スレッドとして開始するためなのかもしれませんが、推測の域を出ていません。 ブレークポイントがヒットする場合にも開始直後に白抜き赤枠に変わってしまう状況で条件を切り分けようとしていたので、ブレークポイントがヒットするケースとヒットしないケースを正しく切り分けできていないということになります。 本来であれば調査をやり直すべきですが、現時点でブレークポイントが使えており、実質困っていないので、 この質問は閉じさせていただきます。