2008-09-16 19 views

答えて

0

私はあなたがデバッグしている場合は1.exeへのソースを持っていると仮定し、デバッガを接続するのに十分な長さのハングアップを引き起こす最初の文を挿入するだけです。

添付したら、次のステートメントにスキップして放してください。あなたは、デバッグのために、いくつかのプリプロセッサコマンドに入れることができ

0

ビルド - ちょうどリリースモードでご使用のリリースを構築することを忘れないでください:

#ifdef DEBUG 
Thread.Sleep(10000); 
#endif 
6

私はこの場合はNTサービスと同じアプローチを取ってお勧めします。それらも起動し、通常、起動ルーチンのデバッガを接続するのに十分な時間を与えません。

詳細は、ここで説明されています。要するにhttp://www.debuginfo.com/articles/debugstartup.html

はあなたが二exeファイルのレジストリエントリを追加します

ます。HKLM \ Software \ Microsoft \ Windowsの NT \ CurrentVersionの\イメージファイルの実行 オプションを\ 2.exeデバッガ= "C:\ progsの\ MSVS \ common7 \ IDE \ DEVENV.EXE /debugexe"(REG_SZ)

c:\ progrs \ msms \を設定に合わせて変更します。

希望に役立ちます。

0

1.exeはどのように起動されますか? CreateProcess()を使用して起動できる場合は、サスペンド状態でプロセスを開始し、デバッガをアタッチしてから、新しいプロセスをリリースすることができます。

0

Visual Studio以外のデバッガを使用する場合は、WinDBGは子プロセス(ネイティブコードのみ)を自動デバッグできます。

0

使用している言語については言及していません。しかし、C#またはVB.NETを使用している場合は、Debug.Break()またはStopを追加して、デバッガをプロセスにアタッチするためのプロンプトをトリガすることができます。

または、Console.Readline()またはMessageBox.Show()のようなものを使用して、デバッガを接続できるまでプロセスの開始を一時停止してください。

関連する問題