- - PR -
サービスアプリケーションのデバッグ
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-07-24 17:56
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/vbcon/html/vbtskdebuggingserviceapplications.asp
を参考にして、サービスアプリケーションのOnStartで実行する処理の デバッグを試してみたのですがうまくいきません。 ソリューション内には ・目的の処理を行うプロジェクトA ・最初に実行するサービスB (AをOnstartで呼んでいる) ・ダミーのサービスC(BをOnstartで呼んでいる) ・セットアップ の4つのプロジェクトを置きました。 やってみたことは、 ・ソリューションのビルド ・InstallUtil で B,Cのサービスをインストール ・B,Cのサービスを開始 ・Cのプロセスにアタッチ ・B,Aのデバッグをするためにブレークポイントの設定 Aが正しく動いているかどうかを確認したいのですが、上記ページを 読み返しトライしてみたのですが、うまくいきません。 上記ページや関連ページは読んだつもりですが、うまくいきません。 どなたかサービスアプリケーションのデバッグをVisualStudioのブレークポイントを 使いながらデバッグしたかたいらっしゃいますか? | ||||
|
投稿日時: 2007-07-24 18:07
Cっていります?
OnStartでテキトーにSleepしましょう。スルッと行っちゃってるから止まらないのです。 | ||||
|
投稿日時: 2007-07-24 18:45
Cのダミーサービスは、参考にしたmsdnに書いてあったので追加しています。
・・・本来は不要のものです。 サービスアプリケーションのデバッグはブレークすることは無理なのでしょうか? | ||||
|
投稿日時: 2007-07-24 18:57
へ?だから、しばらく寝るの。
また、CからBをどうやって呼んでいるかわかりませんが(携帯なのでmsdnは見ていない)、Cにアタッチしても、Bはとめられませんよ? 私はOnStartの先頭で30秒ほど寝て、その間にアタッチしていました。 | ||||
|
投稿日時: 2007-07-24 19:10
デバッグしたいところの手前で、「アサートを起こさせる」では、アタッチできませんか?
Nativeだとこれでアタッチできるんですけど。 _________________ // とっちゃん(高萩 俊行)@わんくま同盟 // とっちゃん’Blog // MS-MVP for Developer Tools - Visual C++ // WindowsInstallerの話題はhttp://www.freeml.com/msiまで | ||||
|
投稿日時: 2007-07-24 19:20
AとBをデバッグしたいなら、CではなくAとBにアタッチしなければなりませんが、できませんか?
Bはサービスなのでできるとして、AはBがプロセスを作ってるのでできないという事でしょうか。だったらプロセスが起動するまで待って、それからアタッチすればよい事なのですが。 _________________ 囚人のジレンマな日々 | ||||
|
投稿日時: 2007-07-25 06:40
1.デバッグ実行するのではなく、プロセスにデバッガをアタッチする手順がわからない
2.プロセスにアタッチしようとすると、エラーになる。(エラーメッセージくらい書いてほしい) 3.プロセスにアタッチしてブレークポイントを設置するのだけど機能しない。またはデバッガから停止できない。 どれでしょう?話の内容から察して、3.でしょうか? リモートデバッガのインストールに失敗したときに、似たような状態になったことあります。再インストールしてなおりましたけど。 | ||||
|
投稿日時: 2007-07-25 09:48
Aのプロジェクトのほうで、Debug.Assert(false)を入れてみました。 サービス開始時に トレースがダイアログで表示されたのですが、サービスのデバッグは通常この方法を 採るのでしょうか? |
1|2|3
次のページへ»