2009-07-23 6 views
2

VS .NET 2003を使用します。IDE外から.exeを実行しますか(コマンドプロンプトまたはWindowsの.exeアイコンをダブルクリックします) IDEでヒットします。IDEの外で.exeを実行しますが、IDE内でブレークポイントを使用します

どうすれば設定できますか?
(IDEの外から実行していますが、「デバッグ」 - >「スタート」から実行されていると見ているIDE)

ありがとう。

答えて

10

デバッグメニューで、外部処理アプリケーションにデバッガを接続するには、[処理に添付]オプションを選択します。

+0

デバッグプロセスダイアログボックスを開いただけで、何も選択せずに再構築しました。 TT2マシンに接続できませんとにかく続行しますか? (何も起こりません) –

+0

あなたが接続しているアプリケーションの正しいコードタイプ(管理、ネイティブ、スクリプトなど)を選択していることを確認してください(または自動を選択してください)。 – adrianbanks

+0

OK、今すぐ入手。しかし、私はそれを実行するたびに再接続する必要がありますか?私はコードに遅れをとらなければならなかったので、実行中にそれをアタッチすることができました(利用可能なプロセスボックスに表示されます)。これを行うには良い方法がありますか? –

2

Visual Studioでは、デフォルトでジャストインタイムデバッグが可能です。これをオフにしていない場合、DebugBreak()を呼び出すと、デバッガをアタッチできるポップアップが表示されます。デバッガをアタッチしないと、プログラムは終了します。そのため、DebugBreakコールをMessageBoxまたは環境変数またはコンフィグレーションアイテムに基づく他の条件付きコードでラップすることができます。

+0

私は実際にCを使用しています。DebugBreak()はまだ正しい関数ですか?私がDebugBreak()を使用しているときに "....にエラーがありました"というメッセージが表示される –

+0

@Tommy:Just-In-Timeデバッガが設定されていない可能性があります。この場合、DebugBreakがJITデバッガ、それを見つけることができず、プログラムは終了します。 – Paul

+0

すべての3つのタイプが有効になっているようです... –

1

DebugBreak()の呼び出しは正しいので、これはあなたに厄介なエラーダイアログ(OSによって異なる)を表示します。これには 'Debug'オプションが必要です。これをクリックすると、インストールされているデバッガの1つを選択するダイアログが表示されます(その中にVS.NETがあります)。これを選択すると、DebugBreak()行が表示されます。しかし、デバッガがあなたのアプリケーション用のpdbファイルを見つけられない場合、これは失敗する可能性があります。その場合は、逆アセンブリビューとソースコードビューを取得するだけです。

また、WinDBGと 'Open executable option'を使用することもできます。ここでも便利なものを得るためには、pdbファイルが必要です。

関連する問題