none
Visual Basic におけるコンソールアプリケーションの動作について RRS feed

  • 質問

  • お世話になっております。

    Visual basic (2010)にて、コードの確認のため簡単なプログラムをコンソールアプリケーションで作成しました。

    プログラムの判断結果を Console.writeline で出力するものです。

    コマンドプロンプトウィンドウが消えないように、End Subのところにブレークポイント(F9)をいれて動作させました。

    結果は得られコードの確認はできたものの、コマンドプロンプトウィンドウが開いたままになってしまいました。

    クローズボタン「×」をクリックしても、タスクマネージャで終了を試みても閉じることができませんでした。

    この場合、どのようにすればウィンドウを閉じることができるのでしょうか??

    Console.writelineの結果を見るために、ブレークポイントをEnd Subに入れる手法が間違いでしたら、どのようにすればよかったのでしょうか。

    お手数をおかけしますが、ご教示願います。

     

    2010年11月10日 7:01

回答

  • コマンドプロンプトを開いたままにするなら、ブレークポイントを置くよりも、WriteLine で出力した後に Console.ReadLine() を置いて Enter キーを押すまで待機するほうが簡単だと思います。


    なかむら(http://d.hatena.ne.jp/griefworker)
    2010年11月10日 7:15
  • 参考までに、Windows XP ではデバッグで停止するなどすると、コンソールウィンドウが閉じられなくなることがあります。
    http://support.microsoft.com/kb/982551/
    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    2010年11月10日 13:54
    モデレータ

すべての返信

  • コマンドプロンプトを開いたままにするなら、ブレークポイントを置くよりも、WriteLine で出力した後に Console.ReadLine() を置いて Enter キーを押すまで待機するほうが簡単だと思います。


    なかむら(http://d.hatena.ne.jp/griefworker)
    2010年11月10日 7:15
  • なかむら様

    なるほど、ありがとうございます。

    ご教示いただいた方法は、動作としても確実と考えてよいでしょうか。

    どうも、ブレークポイントを設定する方法ではコマンドプロンプトが閉じたり閉じなかったりと不定になるようです。(原因不明です)

    Visual Studioを終了させても表示されたコマンドプロンプトが開いたままになってしまい、どうやっても閉じることが出来なかったので、パソコンを再起動するに至りました。

    ※ シャットダウンダイアログの再起動にて再起動を試みましたが、そこからは再起動できず、

    電源ボタン長押しによる強制終了の実行を行いました。(涙)

    タスクマネージャに残っているということは、セッションが残っていると思われ仮に他への影響を与える可能性は低いかもしれませんが、不安が残ります。

     

     

    2010年11月10日 7:39
  • ご教示いただいた方法は、動作としても確実と考えてよいでしょうか。

    標準的な手法だと思いますよ。私の場合、出力を確認するのに Console.ReadKey() をよく使ってます。


    ひらぽん http://d.hatena.ne.jp/hilapon/
    2010年11月10日 8:27
    モデレータ
  • デバッグ時にしか止めたくないかもしれませんので、こちらもご参考までに。

     Visual Studioでコンソール・アプリケーションのデバッグ実行時にコマンド・プロンプトを閉じないようにするには? - @IT
     http://www.atmarkit.co.jp/fdotnet/dotnettips/791debugpause/debugpause.html

    ただ、動作が不安定な点については別の問題として、ちゃんと追求しておかないといけないかもしれません。
    2010年11月10日 9:00
  • デバッグする必要がないのなら、「デバッグなしで開始」を使っています。

    コマンドウィンドウが閉じる前に、CMD.EXEのPAUSEコマンドによる確認が入ります。

    2010年11月10日 12:18
  • 参考までに、Windows XP ではデバッグで停止するなどすると、コンソールウィンドウが閉じられなくなることがあります。
    http://support.microsoft.com/kb/982551/
    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    2010年11月10日 13:54
    モデレータ
  • Azulean様 そして皆様

    ご回答・ご教示誠にありがとうございました。

    私の環境はWindowsXPで、まさにAzuleanさんが示してくださったリンク(Microsoftのサポートオンライン)の通りでした。

    環境による制限( それもVisual Studioを使う上でかなり重要な制限事項 )であることがよくわかりました。

    皆様のご教示は早速当方のノウハウ集他に使わせていただきます。

    今後とも宜しくお願いします。

     

    2010年11月10日 20:38