投稿者 魔界の仮面弁士  (社会人) 投稿日時 2012/11/7 21:41:19
> [F5]キーでデバッグ実行したら、ブレークポイントとStopはうまくいきました。
その他、「Debugger.Break()」を使う方法もあります。(Stop と同義)
あるいは、VB ツールバーの一時停止ボタン ▮▮ でも止まりますね。

この他、「Debug.Assert(条件式)」で止める方法もありますが、
こちらは少々使い道が異なりますので、説明省略。


> でも、[Ctrl] + [PAUSE]([BREAK]) は、押しても何もなりません。・・・
もしかして、ノートパソコンあるいは小型キーボードをお使いでしょうか。
一部のキーボードでは、[fn] + ([Ctrl] + ) [Pause/Break] というキー操作となります。

また、[Pause/Break] ではなく [Stop] キーな環境もあります。


> 0,1,2... ってなってる時に、[Ctrl] + [PAUSE]([BREAK]) を押せばいいんですよね?
はい、その通りです。


> なにもならないからボタンを押す前にも押しましたが無反応です。
特に処理させていないとき(アイドリング時)に、一時停止させることもできますが、
仮に停止させたとしても、実行させているソース行が存在しないため、
「利用可能なソースがありません」という画面が表示されるかと思います。


> とたんに後ろにさがります。
ブレークすると制御が Visual Studio 側に移るため、そのような動作となります。

また、一時停止中はアプリケーションが、一切操作不能となります。
あらゆるコード実行が停止されていますので、マウスやキーボードからの操作も、
基本的に受け付けなくなることに注意してください。
(環境によっては、フォーム画面の再描画さえ行われなくなります)


> [F10]で1行ずつ実行はできたけど、

ツールバーの続行ボタン ▶ を押すか、[F5]キーを押すかすれば、
先の続きから、また処理が再開されます。


> タスクマネージャーのタスクの終了でしか閉じられなくなります。
上記にも少し書きましたが、一時停止中は、キーボードやマウス操作を含む
一切の処理を受け付けないためです。処理を再開させてから終了させてください。

もしも長い処理の実行中で、通常の終了手順も取れないような状態の場合は、
VB ツールバーのデバッグの停止ボタン ■ で、デバッグ処理を停止させることもできます。

なお、長いループ処理の実行中などで、ループを脱出させてしまいたいような場合は、
一時停止させている時に、現在のブロックの末尾(End Sub)の行を右クリックして、
[次のステートメントの設定]を選ぶという方法もあります。こうすれば、
[F5] 等で再開させたときに、次の実行行が End Sub の行から再開されるため、
通常の終わらせかた(フォーム右上の×ボタンなど)ができるかと思います。
(ただし、途中の処理をスキップさせている分、正規の流れとは異なる処理になります)