1

freeglut、optix、cuda、およびその他のライブラリ (一部は動的にロードされます) を使用してプログラムをコンパイルしました。Visual Studio では問題なくコンパイルおよび実行されますが、Visual Studio の外部で実行するとクラッシュします。リリース バージョンとデバッグ バージョンの両方が VS 内で動作します。直接実行しようとすると、Windows 8 に関する情報がなくても両方ともクラッシュします。

必要なDLLをすべて含めましたが、機能しませんでした。

何が問題なのですか?

4

4 に答える 4

2

WinDBGを取得してから File > Open Executable を取得し、WinDBG でプログラムを実行します。クラッシュすると、さらに多くの情報が得られます。ここでの私の回答では、.net の問題について説明していますが、この概念はネイティブ C++ にも適用されます。

于 2013-07-02T19:40:44.573 に答える
2

Visual Studio と既定の環境の環境を比較してみることができます。

依存関係ウォーカーは、欠落している DLL を特定する必要があります。

于 2013-07-02T19:26:19.497 に答える
1

Visual Studio は、デバッガーが存在することを意味する「デバッグ」モードで実行可能ファイルを実行します。

これは何を意味するのでしょうか?msvcrt 実装をチェックアウトすると、ランタイムがデバッガーの存在 (IsDebuggerPresent) を検出すると、ヒープのプリフォームが異なります。

これは何を意味するのでしょうか?これは、バッファサイズが上方に「微調整」されることを意味し、デフォルトでメモリ割り当てが消去されることを意味します (memset は必要ありません) など。

これにより、さまざまなバグが発生したり、より微妙なバグが隠されたりする可能性があります。

于 2013-07-02T20:13:13.920 に答える