2011-12-08 21 views
0

DLL内の関数を呼び出すプロセスがあります。DLL内で構造体を割り当て、構造体がDLL内のさまざまな関数で使用され、それらの関数への参照によって常に渡されます。 (プロセスによって)呼び出されます。 その構造が突然NULLとなりますので、ほとんどの時間は、物事は罰金ですが、私は(のVisual Studio 2008を使用して)、デバッグビルド、何度も行うと、プロセスがクラッシュします 状況がこのようなものです:データが突然デバッグビルドでNULLになる

  • プロセスは
  • プロセスがFUNC3を呼び出して、私はその後、多くの場所で構造体を使用
  • プロセスが は、いくつかの変数を変更し、それは構造上のいくつかの処理を行い、FUNC2を呼び出す 変数を初期化する構造を割り当て、関数func1を、...呼び出し、 コード内の1つの場所(ここで私はstリング( のstd ::文字列myStr = myStructre-> myStrucString)プロセスがアクセス違反エラーで が墜落した...私はそのすべての変数と MYSTRUCTUREが突然NULLであることを見つけるために、デバッガに確認してください....

どのようなアイデアですか? (リリースビルドで非常にまれです)

+0

この構造体はグローバルなポインタ/変数であり、別のグローバルポインタ/変数によってアクセスされます。あなたはあなたが犠牲者ではないことを確認する必要があります静的初期化Fiasco。 –

+0

コードの英語の記述よりもあまりあいまいではありません。 –

+0

@Alsいいえいいえ – aiman09

答えて

関連する問題