1

エラーの getStackTrace 関数によって作成された文字列にアクセスすると、FlashDevelop IDE で非常に異常な動作が発生します。

package
{
    import flash.display.Sprite;

    public class Main extends Sprite
    {
        public function Main():void
        {
            print("Start");

            var err:Error = new Error();
            var stack:String = err.getStackTrace();

            print(stack);
            // also occurs when this is replaced with stack.length or stack[0]

            print("End");
        }

        private function print(input:*):void
        {
            trace(input);
            trace("---");
        }
    }
}

出力するフラッシュCS4で実行すると

Start
---
Error
    at Main()
---
End
---

しかし、FlashDevelop で実行すると ( に置き換えtrace()FlashConnect.trace())、出力されます

Start
---

それはバグですか、それとも FlashDevelop が意図的に別の方法でエラーを処理しているのでしょうか?

後者の場合、エラーのスタックトレースにアクセスするための回避策はありますか?

4

2 に答える 2

1

私はフラッシュプレーヤーのダブリングバージョンを使用するように切り替えることでこれを修正することができました.

デバッグ プレーヤーを指定する手順

于 2013-07-23T18:54:19.763 に答える
0

デバッグ構成でコンパイルしていることを確認し、プロジェクト プロパティ > コンパイラ オプションで「詳細スタック トレース」を有効にする (True に設定する) 必要がある場合があります。

于 2013-07-12T22:08:11.787 に答える