質問

私は窓(64ビット)で働いているプロジェクトの一つといくつかの問題を抱えています。プログラム時々クラッシュは、時々ない、と私は、複数のリンクCランタイムとリンクされる問題があると思われます。どのように私はWindows上でこれを検出することができますか?私がするDepends.exeてみましたが、それはCRTを報告しませんでした。

役に立ちましたか?

解決

それはあなたが正常に静的に複数のCランタイムライブラリにリンクすることができることを、むしろそうだ - あなたは、少なくとも大量の警告を生成することになる、とだけ無謀なエンジニアがそれらを無視し、多くのシンボル定義の競合に実行します。

dependsで、私は、彼らがロードダイナミックCRTLsのためのすべての依存関係を確認するために、ダイナミックプロファイリングオプションを使用してくださいます。何を上げていない場合、私はあなたの問題は別の場所である疑います。

最も一般的にメモリアロケータ - - をして採用していなければならない。

私はあなたの問題はCレベルのAPIとのDLLとして、原則として、CRTLで共有状態に頼るべきではありません、しかし、他の場所でどのような場合である疑いがあるでしょう同じプロセス内言い換えるなど発信者割り当て、呼び出し先の使用、またはメモリ割り当てコールバックを渡し、としてクロスAPIメモリ管理のための標準化されたプロトコル、複数CRTLs起因メモリの正しい使用に通常は問題ではありません管理プロトコルます。

一時的な障害のために、私はマルチスレッドまたはヒープ破損の疑いがあるでしょう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top