1

Webページを表示する必要があるMFCアプリケーションがあります。CSingleDocTemplateを介してCHtmlViewを追加しました。これにより、ウィンドウが生成され、ページが正常に表示されますが、javascriptの実行時にメモリリークが発生します。

私が見ているページはMadcapフレアによって生成されているため、javascriptで非常に重いです。ページを見ているだけで1秒あたり約4Kを失っています。

ユーザーにドキュメントを閉じさせることで問題を軽減しようとしましたが、メインアプリケーションでCFrameWndが閉じられているかどうかわからないため、新しいドキュメントを作成する必要があるのか​​、単に再利用する必要があるのか​​わからないという問題が発生しました。それ。

私はこれをIE9がインストールされたWindows7で実行しているので、正しければ、古いIEjavascript循環参照のバグを十分に理解する必要があります。

4

1 に答える 1

0

リリースビルドとデバッグビルドの両方で発生しますか?ダングリングポインタを解放したり、スタックを爆破したりすると、同様の(やや決定論的な)エラーが発生します。少し運が悪ければ、欠陥のあるコードによる未定義の動作によってメモリリークが発生する可能性があります。

  1. ビルドで可能なすべてのランタイムチェックを有効にして、エラーがなくなる(または何らかの理由で検出される)かどうかを確認してください。
  2. 大きなコードブロックをコメントアウトして、エラーがなくなるかどうかを確認してください。

私はここで推測しています:)

于 2012-09-24T18:54:16.093 に答える