VS2008、C。いくつかのビルド済みライブラリも使用しています。デバッガーでコードをステップ実行し、呼び出されているライブラリ関数をステップスルーすると、次のようになります。
HEAP [unit_test.exe]:35c70付近のコミットされた範囲の最後のエントリがヒープにないWindowsがunit_test.exeのブレークポイントをトリガーしました。
これは、ヒープの破損が原因である可能性があります。これは、unit_test.exeまたはロードされたDLLのいずれかにバグがあることを示しています。
これは、unit_test.exeにフォーカスがあるときにユーザーがF12キーを押したことが原因である可能性もあります。
出力ウィンドウには、より多くの診断情報が表示される場合があります。
これをデバッグする方法について何かアイデアはありますか?
更新:コードをリファクタリングし、printf()を実行するとポップアップが表示されることを確認しました。free()があるときにも取得します。これらの行をコメントアウトしましたが、malloc()があると、ヒープ破損ポップアップダイアログが表示されます。