次の方法で共有


Visual Basic の Stop ステートメント

ブレークポイントを設定する別の方法として、Visual Basic の Stop ステートメントをプログラムで使用できます。デバッガーが Stop ステートメントを実行すると、プログラムの実行が中断されます。つまり、中断モードに入ります。C# では、System.Diagnostics.Debugger.Break への呼び出しを使用して、プログラムの実行を中断できます。

ソース コードを編集することで Stop ステートメントを設定または削除できます。デバッガー コマンドでは、ブレークポイントを設定またはクリアできますが、Stop ステートメントを設定またはクリアすることはできません。

Stop ステートメントは、End ステートメントとは異なり、変数をリセットしたり、デザイン モードに戻ったりすることはありません。アプリケーションの実行を継続するには [デバッグ] メニューの [続行] をクリックします。

Just-In-Time デバッグが有効な場合は、デバッガーの外部で実行中の Visual Basic アプリケーションの Stop ステートメントによって、デバッガーが起動します。Just-In-Time デバッグが有効でない場合、Stop ステートメントは End ステートメントと同様に機能し、実行を終了します。QueryUnload イベントや Unload イベントが発生しないため、Visual Basic アプリケーションのリリース バージョンに設定されたすべての Stop ステートメントを削除する必要があります。詳細については、「Just-In-Time デバッグ」を参照してください。

Stop ステートメントを削除しなくて済むようにするには、次のような条件付きコンパイルを使用できます。

#If DEBUG Then
   Stop
#Else
   ' Don't stop
#End If

Stop ステートメントの代わりに、Assert ステートメントを使用する方法もあります。Debug.Assert ステートメントは、指定した条件を満たさない場合にだけ実行を中断し、リリース バージョンのビルド時に自動的に削除されます。詳細については、「マネージ コードのアサーション」を参照してください。デバッグ バージョンで常に実行を中断する Assert ステートメントが必要な場合は、次のコードを使用します。

Debug.Assert(false)

また、Debug.Fail メソッドを使用する方法もあります。

Debug.Fail("a clever output string goes here")

参照

概念

デバッガーのセキュリティ

その他の技術情報

デバッグの準備: プロジェクトの種類が C#、F#、および Visual Basic のプロジェクト

マネージ コードのデバッグ