Visual Studioでデバッガーがブレイクポイントで止まらない(シンボルが読み込まれていません)時の対策法

シェアする

  • このエントリーをはてなブックマークに追加

program

 

Visual Studioのリモートデバッグ機能(Remote Debugger)はとても便利なのですが、ごくたまにリモートデバッグがブレイクポイントで止まらずにデバッグ出来ないことがあります。

 

リモートデバッグの方法については以下にまとめました。

あるパソコンのVisualStudioで作ったC#のアプリケーションが、別のパソコンやOSでは正常に動作しないことがあります。例えば、以下のようにWindows...

 

リモートデバッグが出来ない場合は、大抵以下のようなメッセージが表示されます。

 

ブレークポイントは、現在の設定ではヒットしません。このドキュメントのシンボルが読み込まれていません。

 

 

今回、リモートデバッグ出来ない場合の対応方法をまとめてみました。

 

 

スポンサードリンク

ソースと実行モジュールのアンマッチ

一番よくあるのがこれです。

実行しているデバッグしようとしているモジュールと、Visual Studioで開いているソースファイルが一致していないケースです。

 

ソースは最新になっていますか?

 

あるいは、ちゃんとビルドしたモジュールを実行していますか?

一つ古いモジュールを実行していませんか?

 

 

スポンサードリンク

デバッグモジュールでビルドされているか?

Visual Studioでビルドする際、リリース(Release)ではなくデバッグ(Debug)でビルドしていますか?

デバッグ情報は、Debugフォルダ以下に作成される .pdb (Program Debug Database) という拡張子のファイルに保存されます。

 

 

 

Visual Studioのメニューから、「ビルド」⇒「構成マネージャー」からアクティブなソリューション構成が「Debug」になっていることを確認します。

 

WS000176

 

プラットフォームは、多分「Any CPU」にしておくのがよいと思います。

 

プラットフォームの違い、ARMとx86/x64の違いについては以下にまとめました。

プロセッサ(CPU)の話で必ず出てくる単語に「ARM」と「x86/x64」という単語があります。これらは、プロセッサのアーキテクチャーの種類を表しています。両者...

 

 

 

あと、念のため、

ソリューションの「プロパティ」⇒「ビルド」の「詳細設定」を開いてみましょう。

「デバッグ情報」が「full」になっていますか?

「none」や「pdb-only」になっていた時は、「full」にしてからビルドしましょう。

 

 

スポンサードリンク

管理者で実行されているか?

Windows Vistaや、あるいはサービスなど管理者で実行しているモジュールをリモートデバッグしたい場合、Visual Studioも管理者で実行する必要があります。

 

いわゆるユーザーアカウント制御 (UAC、User Account Control) のためです。

UACについては以下にまとめました。

Windowsで、メモ帳(notepad、テキストエディター)を使っていると「アクセスが拒否されました」と表示されることがあります。この対応方法についてまとめま...

 

Visual Studioを右クリックで「管理者として実行」を押して管理者として実行しましょう。

 

 

プロセスにアタッチするときに「自動:ネイティブコード」になっているか?

Visual Studioからプロセスにアタッチするときに、アタッチ先は「自動:ネイティブコード」になっていますか?

 

WS000177

 

間違って、コードの種類が選択されていると、その種類のコードでないとデバッグできなくなってしまいます。

 

 

サービスのプログラムをデバッグする

 

サービスのプログラムをデバッグ実行する方法です。

 

  1. OnStartメソッドに「Debugger.Launch()」と書く
  2. サービスを開始する
  3. 「Visual Studioでデバッグしますか?」と聞いてくるので、開いておいた開発環境に相当するVisual Studioを一覧から選ぶ
  4. 「アタッチしますか?」と聞いてくるので、「する」を選択する

 

サービスのプログラムはこれでデバッグ実行できるはずです。

 

 

↓Visual Studioのデバッグに関する本はコチラをご覧ください。
Visual Studio デバッグ

 

 

最後まで読んでいただきありがとうござました。

この記事が気に入っていただけたらシェアしてくれると嬉しいです。

 

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です