2012-03-02 8 views
1

私が取り組んでいるプログラムは、時間ベースのスケジュールで操作をテストするために使用されます。したがって、要件の1つは、別のアプリケーションを起動イベントにするためにシステムクロックを変更することです。これは簡単です。私のプログラムは、クロックを設定できるスクリプトを実行します。スクリプトが始まると、私はDateTime.Nowを保存し、ストップウォッチを作成します。スクリプトが終了すると、システムクロックが変更された場合、経過時間を読み込み、開始時刻に追加し、その値をシステムクロックに設定します。これまでのすべての罰金。しかしながら。スクリプトを終了する前に私のプログラムをデバッグして停止すると、その復元は起こりません。私は、C#デバッガを強制的に呼び出して、シャットダウン時にコードの一部を強制的に呼び出す(またはNISTサーバから時刻を読み込むなどの何らかのアクションを実行する)方法があるかどうか疑問に思っていましたか?C#デバッグ:魔法のシステムクロックリストア

+0

もう少し掘り起こすと、ハンドラをアタッチできるイベントApplication.ApplicationExitがあることがわかりました。デバッグセッションを終了するときにこれが呼び出されるのであれば、どんな考えですか? –

答えて

1

デバッガを停止することはプロセスを終了することと同じです。したがって、何が起こっているかの保証はありません。
しかし、disposeメソッドまたはfinalizeメソッドを実装することを検討してください。

1

「私は自分のプログラムをデバッグし、それを止める...」

あなたはそれを停止した後、あなたのプログラムが続行されません。だから、なぜあなたは迷っていますか?

あなたのプログラムをデバッグすることができます。そして、デバッグを終了したらデバッガをデタッチするだけで、プログラムが実行されます。

+0

いいえ、なぜ私のプログラムがシャットダウンするのかをよく理解しています:-) **間違ったシステム時間を持つことの継続的な煩わしさを避けたい** **避けることができれば。 スクリプトランナーとメインアプリケーションの2つのプログラムがあります。私が興味を持っているのは前者です。 –