0

Visual StudioとC#を使用してコンソールアプリケーションを作成しています。私は常にデバッグ情報をコンソールウィンドウに表示しています。コマンドプロンプトをコピーアンドペーストすると、コンソールアプリケーションのフリーズが進行する

プログラムはかなりシンプルですが、複数のデータベースに複数回クエリを実行し、その値を中央データベースに保存します。これは合計で900回を少し上回ります。データベースに照会する時点で、コンソールウインドウで時折(そしてランダムに)ストールし、デバッグ情報の出力をやめたり、プログラム内のそれ以上に移動したりします。 特有のことは、ウィンドウを強調表示して右クリック(コピー)すると、これはプログラムを人生に戻すように思えます、そして、それは再び働き始める!

これを引き起こしている可能性があるのは誰ですか?それは以前私が今までプログラムで見たことのない最も独特な振る舞いです!

+0

ああ、私はそれは間違いなくプログラムをキックスタートハイライトとコピーであることを指摘しなければなりません。私はそれが偶然ではないことを保証するために広範なテストを行った。 –

答えて

1

ユーザーが誤って黒色のコンソールウィンドウをクリックすると、カーソルが白い四角形に変わり、別のクリニックが作成されるまでアプリがハングアップします。

「クイック編集モード」が有効になっている場合、コンソールウィンドウの一般的な機能です。

この機能を無効にするには、実行時にアプリケーションのコンソールウィンドウの[クイック編集モード]オプションをオフにする必要があります。

またはプログラムを無効にします。

// http://msdn.microsoft.com/en-us/library/ms686033(VS.85).aspx 
    [DllImport("kernel32.dll")] 
    public static extern bool SetConsoleMode(IntPtr hConsoleHandle, uint dwMode); 

    private const uint ENABLE_EXTENDED_FLAGS = 0x0080; 

    static void Main(string[] args) 
    { 
     IntPtr handle = Process.GetCurrentProcess().MainWindowHandle; 
     SetConsoleMode(handle, ENABLE_EXTENDED_FLAGS); 
関連する問題