2009-04-04 17 views
1

flexビルダーデバッガを接続するswfがあります。私はソースコードに完全にアクセスでき、このswfのデバッグビルドを行うことができます。非デバッグ外部swfからロードされた内部swfをデバッグする最善の方法は何ですか?

しかし、このswfファイルは、私はソースコードを持っていない、とデバッグを構築することはできません別のSWFの非デバッグビルドによってロードされています。

これは可能ですか?

私は2つの非常にシンプルなswfsでこれを嘲笑しようとしましたが、両方のデバッグビルド時にはうまく動作しますが、外側のswfは非デバッグビルドであり、デバッガを接続することができますトレースメッセージを取得しない、ブレークポイントが動作しない、それはフラッシュアプ​​リケーションをロックするようだ。

どのような考えですか?明白な何かがありますか?あなただけ(つまり、デバッグ、1つを有効にロードする)非デバッグSWFにロードし、ほぼ空のSWFをコンパイルする場合

答えて

1

興味深い、何が起こりますか? DEBUG> NON-DEBUG> DEBUG ...デバッグレベル以外のデバッグメッセージは、その '子'のデバッグメッセージをキャンセルしますか?

スタックトレースなどのためにフレックスデバッガを使用するのが望ましいと思いますが、SWF内でカスタムロガーを使用するとよいでしょう。これは、誰かがリモートでバージョンをオンラインでデバッグしたい場合に特に便利です。 googleへのいくつかのしかし、私の心の上から最新のThunderBoldです。テオの考えにさらに

+0

は、これは、少なくとも、それが働いていない理由を考え出すの観点から、興味深いと考えられています。私は主にブレークポイントを使用したい - 私はすでにリモートロギングを持っていますが、それをデバッグするのは面倒です。 –

1

は、おそらくデバッグ用容器内のクラスを参照する必要があります。その後、非デバッグswfを同じ(または子の)アプリケーションドメインにロードすると(非デバッグswfも同じことを行います)、内部デバッグswfに侵入することができます。

あなたは(それは臭いですが、でも、Flexは内部的にそれをしない)ので、同じようなクラスを参照することができます。

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

package com.what.ever 
{ 
    public class ApplicationClassInDebugContainer 
    { 
    } 
} 
関連する問題