次の方法で共有


Visual Basic の Stop ステートメント

Visual Basic Stop ステートメントは、ブレークポイントの設定に代わるプログラムを提供します。 デバッガーが Stop ステートメントを検出すると、プログラムの実行が中断されます (中断モードに入ります)。 C# プログラマは、 Debugger.Breakの呼び出しを使用して同じ効果を実現できます。

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

End ステートメントとは異なり、Stop ステートメントは変数をリセットしたり、デザイン モードに戻したりしません。 [デバッグ] メニューから [続行] を選択して、アプリケーションの実行を続行できます。

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

Stop ステートメントを削除する必要を回避するには、条件付きコンパイルを使用できます。

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

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

Debug.Assert(false);

さらに別の方法として、 Debug.Fail メソッドを使用することもできます。

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