1

Flex Builder デバッガーをアタッチする必要がある swf があります。ソース コードに完全にアクセスでき、この swf のデバッグ ビルドを作成できます。

ただし、この swf は、ソース コードがなく、デバッグ ビルドを作成できない別の swf の非デバッグ ビルドによってロードされています。

これは可能ですか?

これを 2 つの非常に単純な swf でモックアップしようとしましたが、両方がデバッグ ビルドの場合は問題なく動作しますが、外側の swf が非デバッグ ビルドの場合は、デバッガーを接続できますが、トレースが取得されません。メッセージ、ブレークポイントが機能せず、Flash アプリがロックされているようです。

何かご意見は?私が見逃している明らかなものはありますか?

4

2 に答える 2

1

Theoの考えに加えて、おそらくデバッグコンテナ内のクラスを参照する必要があります。次に、非デバッグswfを同じ(または子)アプリケーションドメインにロードする(そして非デバッグswfも同じことを行う)限り、内部デバッグswfに侵入できます。

このようにクラスを参照できます(これは匂いですが、Flexでさえ内部的に参照します)。

import com.pkg.ClassToDebug; ClassToDebug;
import com.pkg.AnotherClassToDebug; AnotherClassToDebug;
// ... etc

package com.what.ever
{
    public class ApplicationClassInDebugContainer
    {
    }
}
于 2009-04-05T19:53:46.990 に答える
1

興味深いことに、非デバッグSWF(デバッグが有効なSWFをロードする)をロードするだけのほぼ空のSWFをコンパイルするとどうなりますか?つまり、DEBUG> NON-DEBUG> DEBUG ...非デバッグレベルはその「子」のデバッグメッセージをキャンセルしますか?

スタックトレースなどにフレックスデバッガーを使用することをお勧めしますが、SWF内でカスタムロガーを使用することをお勧めします。これは、誰かがオンラインなどでバージョンをリモートデバッグする場合に特に便利です。私の頭の中で最新のものはThunderBoldです。

于 2009-04-05T00:34:01.287 に答える