トップ回答者
リモートデバックとインターネット

質問
-
ユーザーからの要望でトラブっているとき、インターネットを介してどこからでもパソコンのプログラムの動作状態を見てもらえないだろうか?という依頼がありました。
単純にすぐ近くであればHUBとLANケーブルなどがあれば別のパソコンからリモートデバックできるのでしょうが、インターネットを介してとなるとできるのかどうか不明です。
VS2015ではインターネットを介したリモートデバックは不可能と記載がありました。(自分が使っているのはVS2017)
https://msdn.microsoft.com/ja-jp/library/y7f5zaaa.aspx?f=255&MSPPError=-2147217396
そこで質問です。皆さんはこのような依頼があった場合どのように対応されていますか?
回答
-
まずは再現性があるかどうかを確かめることが先だと思いますよ。再現性があれば比較的楽なのですが、何かの条件が揃った時にエラーが出るというのはユーザーでもなかなか気づきにくいことがあります。
私の経験で、以下のことがありました。
ある改修の影響で一部のエラーチェックが外れてしまい、ユーザーがその項目に値を入れ忘れて登録ボタンを押すとエラーで落ちるというものでした。ユーザーは普通はその項目に値を入れますので普段はエラーにならないのですが、たまに入れ忘れてエラーになり、不定期にエラーが発生するという原因が特定しにくいものでした。登録時のエラーですので、不正なエラーは存在しておらず、データを調べてもわかりませんでした。
こういうケースもありますので、エラー原因特定の参考になれば幸いです。
また、イベントログのアプリケーションログに何か出ている可能性もあり、それがヒントになることもあります。★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク saiking 2017年7月14日 7:13
すべての返信
-
質問者さんの想定する「リモートデバッグ」に近い機能であれば、Windowsにはリモートアシスタンス接続が提供されています。ただし、リモートデバッグであれリモートアシスタンス接続であれ、ユーザーは接続を拒否することが多いので、どちらも選択肢に上がることは稀です。また、ファイアウォール等でそもそも接続が不可能なネットワーク構成も往々にしてあります。
結局、Azuleanさんが言及されているように、再現データや診断ログに頼りますが、それでも解決しない場合はダンプ解析を行ったりもします。
- 回答の候補に設定 立花楓Microsoft employee, Moderator 2017年7月18日 0:53
-
まずは再現性があるかどうかを確かめることが先だと思いますよ。再現性があれば比較的楽なのですが、何かの条件が揃った時にエラーが出るというのはユーザーでもなかなか気づきにくいことがあります。
私の経験で、以下のことがありました。
ある改修の影響で一部のエラーチェックが外れてしまい、ユーザーがその項目に値を入れ忘れて登録ボタンを押すとエラーで落ちるというものでした。ユーザーは普通はその項目に値を入れますので普段はエラーにならないのですが、たまに入れ忘れてエラーになり、不定期にエラーが発生するという原因が特定しにくいものでした。登録時のエラーですので、不正なエラーは存在しておらず、データを調べてもわかりませんでした。
こういうケースもありますので、エラー原因特定の参考になれば幸いです。
また、イベントログのアプリケーションログに何か出ている可能性もあり、それがヒントになることもあります。★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク saiking 2017年7月14日 7:13
-
診断用のログを埋めていくとはどういうことでしょう?必要な変数やどこを通過したかファイルに残しておくということでしょうか?
そういうことです。
フレームワークとして用意されているわけでもないので、自分が必要かもしれないと思うところに入れていくか、アスペクト志向(AOP)的なソリューション(PostSharp など)を使うかですね。ダンプファイルではそれを採取した瞬間のメモリなどから解析できるところはわかりますが、それに至った経緯までは読み取れないこともあるため。
(ダンプファイル解析自体はそれで有用だと思いますので、採取・提供されるのであればトライする価値はあると思います)
- 編集済み AzuleanMVP, Moderator 2017年7月14日 15:04
- 回答の候補に設定 立花楓Microsoft employee, Moderator 2017年7月18日 0:53