以下のように、さまざまなケースで異なる動作をするプログラムをvc ++で記述しました。
F5で実行すると、リリースモードで正常に動作します。
Ctrl + F5で実行すると、プログラムへのデータ送信を開始するとクラッシュします。
ビジュアルスタジオ以外では、すぐにクラッシュします。
バグを見つける方法がわかりません。これらのケースの違いは何ですか?
Ctrl + F5を実行すると、デバッガなしでアプリケーションが実行されます。 ( http://msdn.Microsoft.com/en-US/library/8b59xk0f(v = vs.90).aspx )これは、リリースモードでの実行と同じではありません。
アプリケーションをデバッグモードで実行できますが、デバッガーは必要ありません。ばかげて聞こえますが、たとえば、終了時にコンソールが閉じないようにする場合に役立ちます。 ( 終了時にコンソールが閉じないようにする方法は? )
アプリケーションをデバッグモードで実行する場合とリリースモードで実行する場合の違いを理解する必要があります。 F5は通常、アプリケーションのデバッグに役立ち、Ctrl + F5はアプリケーションを実行します。あなたのvsをクラッシュさせるリリースモードのいくつかの問題があるかもしれません。 this を読んで理解してください。