2011-07-28 12 views
0

私はすぐにクラッシュを疑った。算術演算が「sizeof(short)で除算」だけだったメソッドの浮動小数点例外。foobarのデバッグ方法プログラムカウンタ

私はスタッククロール&を見て、メソッドへのオフセットが "+91"であることを確認しました。その後、私はその方法の分解を調べた&プログラムカウンターが実際にクラッシュの時にはかなり重いことが確認されました。解体は、+ 90および+93で指示を示したが、+91では指示しなかった。

これは32ビットx86命令のメソッドで、アプリケーションの稼働中に非常に頻繁に呼び出されます。このクラッシュは3回報告されています。

どうしますか?どのように状況のデバッグトラップを設定するのですか?

答えて

0

一般的に、命令の途中でエラーが発生した場合、不正なフロー制御(ブレークジャンプ、コール、レット)、オーバーフロー、間違った参照解除、またはデバッグシンボルの同期が外れているスタックトレースに間違った情報が表示されます。あなたの最初のステップは、確実に毎回エラーを確実に再現することです。そうでなければ、トラップに問題があります。デバッガでそれを実行し、条件を強制的に爆発させ、(呼び出し)スタックとレジスタを調べます。それらが有効な値なのかどうか確認してください。

関連する問題