2009-04-07 12 views
2

私のサイトはFirefoxで正常に動作しますが、IEではクラッシュします。IEでウェブサイトがクラッシュするのはなぜですか?

私はコンテンツをフェードインするためにたくさんのjQueryを使用しています。ユーザーが上記のリンクを数回クリックするとIEでクラッシュします。私はサイトはIEにクラッシュし、なぜ全く見当がつかないIdea Palette

は、ここに私のサイトです。私は自分の問題のデバッグをどこで始めるべきか分からない。私のコンピュータにはVisual Studioがありませんが、私の友人のコンピュータでVisual Studioは "未処理のwin32例外がiexplore.exe [####]で発生しました"というメッセージを読みます。

誰にもアイデアはありますか?

+1

まだ何も見たことがありません。しかし、私はあなたの余分なタブを取り除くことによって、空白をきれいにすることをお勧めします。私はまた、重複して繰り返されるコードを統合することを検討しますが、それは別の質問です。 – bendewey

+0

WebサイトからIEをクラッシュさせる可能性がある場合は、Microsoftに問題を報告する必要があります。攻撃者がリモートサーバーから被害者のマシン上のプログラムをクラッシュさせる可能性のあるバグは、潜在的なセキュリティの悪用となります(少なくとも、サービス拒否を許します)。 –

答えて

12

ここに行きます。それはあなたのDirectXフィルターと関係があります(おそらくフェードをしているもの)。ここにスタックがあり、EAXはNULLです。コードがやっているものは何でもEAXをDEREFしようとしている:変換しながら、おそらくあなたはDOMから要素を削除している

CDXTFilterBehavior::_ClearSurface: 
6C8E87E1 mov   edi,edi 
6C8E87E3 push  ebp 
6C8E87E4 mov   ebp,esp 
6C8E87E6 push  ecx 
6C8E87E7 mov   eax,dword ptr [ebp+0Ch] 
6C8E87EA mov   ecx,dword ptr [eax] <--- EAX is NULL 

> dxtrans.dll!CDXTFilterBehavior::_ClearSurface()  
    dxtrans.dll!CDXTFilterBehavior::_DrawUnfilteredElementLayers() 
    dxtrans.dll!CDXTFilterBehavior::_DrawElementWithProceduralSurfaces()  
    dxtrans.dll!CDXTFilterBehavior::_ExecuteFilterChain() 
    dxtrans.dll!CDXTFilterBehavior::Draw() 
    mshtml.dll!CPeerHolder::Draw() 
    mshtml.dll!CLayout::DrawClientLayers() 
    mshtml.dll!CDispContainer::DrawSelf() 
    mshtml.dll!CDispNode::Draw()  
    mshtml.dll!CDispContainer::DrawChildren() 
    mshtml.dll!CDispContainer::DrawSelf() 
    mshtml.dll!CDispNode::Draw()  
    mshtml.dll!CDispContainer::DrawChildren() 
    mshtml.dll!CDispContainer::DrawSelf() 
    mshtml.dll!CDispNode::Draw()  
    mshtml.dll!CDispContainer::DrawChildren() 
    mshtml.dll!CDispContainer::DrawSelf() 
    mshtml.dll!CDispNode::Draw()  
    mshtml.dll!CDispContainer::DrawChildren() 
    mshtml.dll!CDispContainer::DrawSelf() 
    mshtml.dll!CDispNode::Draw()  
    mshtml.dll!CDispContainer::DrawChildren() 
    mshtml.dll!CDispContainer::DrawSelf() 
    mshtml.dll!CDispNode::Draw()  
    mshtml.dll!CDispRoot::DrawEntire() 
    mshtml.dll!CDispRoot::DrawRoot()  
    mshtml.dll!CView::RenderView() 
    mshtml.dll!CDoc::OnPaint() 
    mshtml.dll!CServer::OnWindowMessage() 
    mshtml.dll!CDoc::OnWindowMessage() 
    mshtml.dll!CServer::WndProc() 
    [email protected]()  
    [email protected]()  
    [email protected]()  
    [email protected]()  
    [email protected]()  
    [email protected]()  
    [email protected]() 
    [email protected]() 
    [email protected]()  
    [email protected]() 
    [email protected]() 
    [email protected]()  
    ieframe.dll!CTabWindow::_TabWindowThreadProc() 
    [email protected]@12() 
    [email protected]()  
    [email protected]() 

はまだそれで動作していますか?

+2

上記コードはどこで手に入りましたか? EAXの修正方法を教えてください。私はEAXが何であるか分かりません。 – zeckdude

+2

Visual Studioに添付されて公開されているシンボルでiexplore.exeを実行しました。 EAXはCPUレジスタです。それを直接修正することはできません...あなたはそれを回避する方法を見つけなければなりません。それがnullだという事実はあなたの唯一の手掛かりです - あなたがあなたが思っていたどんなオブジェクトもそこにはありません。 –

+0

以下に示唆される分割と征服は良いアプローチです。 –

10

「分裂と征服戦略」に従わなければならないことを示唆することができます。

すべてのjavascriptを削除し、読み込みを試みます。失敗した場合は、削除したコードに問題があります。削除したコードの「半分」をもう一度追加します。クラッシュしなかった場合は問題はこの半分にはなく、クラッシュした場合は半分になります。残りのコードが正常に機能している場合は「半分」を追加し続け、失敗した場合は追加したコードの半分を削除する必要があります。これをやり続けると、分割できないコードが追加され、IEがクラッシュすることになります。

これはあなたのバグを解決することはできませんが、本当の問題がどこにあるかをあなたに知らせるかもしれません。 @jeffamaphoneが、それはDOMを変更すると何かであるならば、それだけで閉じ< /ボディ前>タグに<ヘッド>からあなたJavaScriptを移動する価値があるかもしれない、と言っていたものから上に行く

0

私は以前IEに問題がありましたが、infamous Operation Aborted errorがこれを解決するのに役立ちましたが、YMMVに感謝します。

1

これはXP固有の問題です。私たちはこの問題を熟視している開発者チームを全員持っていますので、Vistaで同じ問題は見られません。

+1

私たちは誰ですか? Microsoftで働いていますか? – zeckdude

+2

現像不良:( – Nachiket

関連する問題