swfがサードパーティのswfによってロードされています。私はソースコードを持って、私のswfを再コンパイルしますが、サードパーティ製のswfのコードはありません。フラッシュスタックのオーバーフローのデバッグ
私のコードのどこかにスタックオーバーフローがあります。オーバーフローが発生したときに、デバッグフラッシュプレーヤーでは、私は、スタックトレースを持つ素敵なポップアップダイアログが出ます:
Error: Error #1023: Stack overflow occurred.
at Object$/Object::_hasOwnProperty()
at Object/http://adobe.com/AS3/2006/builtin::hasOwnProperty()
at Object$/Object::_hasOwnProperty()
at Object/http://adobe.com/AS3/2006/builtin::hasOwnProperty()
at Object$/Object::_hasOwnProperty()
それは、64行のために、このようになります。しかし、スタックトレース全体ではなく、最後の64個のスタックフレームしか見ていないようです。
完全なスタックトレースを確認する方法はありますか?代わりに、スタックの深さを制限する方法はありますか?
私はこれをデバッグしようとしましたが、情報がほとんどなく、ツールが不足しています。ここで私が試したことは次のとおりです。
- 私のコードをデバッガにフックします。これは、VM内のウィンドウでFlash 9.0.28を実行し、VM外で動作するFlex Builderに接続しています。接続するように見えますが、私はトレースステートメントを取得せず、ブレークポイントは起動しません。
- httpサーバにログ行を送信します。これは動作しますが、オーバーフロー/サーバークラッシュの前に最後のn個のスタックフレームがないと思われます。
- コードの一部を無効にするブラインドバイナリ検索のアプローチ - これは遅いですが、おそらく動作します。
私が試しているはずの他の戦略はありますか?
新しいバージョンのFlex Builderのデバッガは、Flash Player 9.0.28と完全に互換性がありません。 9.0.115以上が必要だと思います。 – joshtynjala