none
リモートデバックでブレークポイントが効きません。 RRS feed

  • 質問

  • ターゲットPCにvc_redist.x64とvs_remotetool_x64をインストールして、releaseモードのアプリを入れてmsvsmonを動かして

    クライアント側は管理者権限でvisualstudioを立ち上げクライアント側でプロジェクトを立ち上げターゲットPCのアプリにアタッチは

    できたのですが、ブレークポイントなどが効きません。

    何か設定することが他にあるのでしょうか?


    ##参考にしたのは以下のサイトです。

    http://www.atmarkit.co.jp/fdotnet/chushin/vsdebug_03/vsdebug_03_02.html

    2017年7月28日 8:39

回答

  • gekkaさんAzuleanさんありがとうございます。

    ・pdbファイルは作られていました。

    ・ブレークポイントのところで原因がわかりますよとのアドバイス通り見てみると実行ファイルが見えないと出てきました。

    そこで調べていて以下を発見しました。

    https://msdn.microsoft.com/ja-jp/library/8x6by8d2(v=vs.110).aspx

    プロジェクトのプロパティにて

    「デバック」の起動するデバッカーを「リモートWindowsデバッカー」にする。

    以下を指定する

    ・リモートコマンド

    ・作業ディレクトリ

    ・リモートサーバー名

    ・配置ディレクトリ

    「構成マネージャー」にて配置にチェックを入れる

    にて、VSのデバッカーからアプリを起動したり、アタッチしたり、ブレークポイントで止めるなどできるようになりました。

    構成マネージャープロパティページ


    • 回答としてマーク saiking 2017年7月29日 0:50
    • 回答としてマークされていない saiking 2017年7月29日 1:45
    • 回答としてマーク saiking 2017年7月29日 2:23
    2017年7月29日 0:50
  • 以下の条件であれば、Debug用のdllをターゲットに入れることができるのですね。 ------------------------------------------------------------------------------------------- アプリケーションのデバッグ バージョンは再配布できません。また、Visual C++ ライブラリ DLL のデバッグ バージョンも再配布できません。 アプリケーションおよび Visual C++ DLL のデバッグ バージョンは、Visual Studio がインストールされていないコンピューターでアプリケーションのデバッグとテストを行う目的でのみ、他のコンピューターにインストールできます。 ------------------------------------------------------------------------------------------- https://msdn.microsoft.com/ja-jp/library/aa985618.aspx
    • 回答としてマーク saiking 2017年7月29日 2:23
    2017年7月29日 2:19

すべての返信

  • 考えられる可能性としては

    • VCでリリースビルドした時に/DEBUGでデバッグ情報を生成しなかった(*.pdbファイルが作られていない)
    • C#でプロジェクトのプロパティ->ビルド->詳細でデバッグ情報、またはVBでプロジェクトのプロパティ->コンパイル->詳細コンパイルオプションで、デバッグ情報を生成のオプションをNoneにしてデバッグ情報を生成しなかった。
    • ターゲットに配置したファイルがローカルにある最新ファイルと異なっている
    • プロセスにアタッチのダイアログでコードの種類の選択が、自動になってないかネイティブアプリなのにネイティブのチェックが外れている。
    • プロセスにアタッチのダイアログでコードの種類の選択が、自動になってないか.Netフレームワークを使っているのにマネージのチェック(の一致するバージョン)が外れている
    • 違うアプリをアタッチしてる

    追記:
    .NetFrameworkを使っている場合の可能性を追記


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    2017年7月28日 10:16
  • コードエディター上で無効になっているブレークポイントの左側の灰色の丸にカーソルを合わせると、なぜヒットしないかの理由が出るはずなので、それも見てみましょう。
    2017年7月28日 13:52
    モデレータ
  • gekkaさんAzuleanさんありがとうございます。

    ・pdbファイルは作られていました。

    ・ブレークポイントのところで原因がわかりますよとのアドバイス通り見てみると実行ファイルが見えないと出てきました。

    そこで調べていて以下を発見しました。

    https://msdn.microsoft.com/ja-jp/library/8x6by8d2(v=vs.110).aspx

    プロジェクトのプロパティにて

    「デバック」の起動するデバッカーを「リモートWindowsデバッカー」にする。

    以下を指定する

    ・リモートコマンド

    ・作業ディレクトリ

    ・リモートサーバー名

    ・配置ディレクトリ

    「構成マネージャー」にて配置にチェックを入れる

    にて、VSのデバッカーからアプリを起動したり、アタッチしたり、ブレークポイントで止めるなどできるようになりました。

    構成マネージャープロパティページ


    • 回答としてマーク saiking 2017年7月29日 0:50
    • 回答としてマークされていない saiking 2017年7月29日 1:45
    • 回答としてマーク saiking 2017年7月29日 2:23
    2017年7月29日 0:50
  • ======訂正=====

    ブレークポイントが効かない場合がある。

    クラスを追加すると、それについてはブレークポイントが効かないということは、手順にあった通りDebugモードでやるのだろうか?Debug用のdllをターゲットに入れてもよいのだろうか?

    2017年7月29日 1:50
  • 以下の条件であれば、Debug用のdllをターゲットに入れることができるのですね。 ------------------------------------------------------------------------------------------- アプリケーションのデバッグ バージョンは再配布できません。また、Visual C++ ライブラリ DLL のデバッグ バージョンも再配布できません。 アプリケーションおよび Visual C++ DLL のデバッグ バージョンは、Visual Studio がインストールされていないコンピューターでアプリケーションのデバッグとテストを行う目的でのみ、他のコンピューターにインストールできます。 ------------------------------------------------------------------------------------------- https://msdn.microsoft.com/ja-jp/library/aa985618.aspx
    • 回答としてマーク saiking 2017年7月29日 2:23
    2017年7月29日 2:19