Кой е най-добрият начин за отстраняване на грешки във вътрешен swf, който е зареден от външен swf без отстраняване на грешки?

Имам swf, към който трябва да прикача програмата за отстраняване на грешки на flex builder. Имам пълен достъп до изходния код и мога да направя компилация за отстраняване на грешки на този swf.

Този swf обаче се зарежда от компилация без отстраняване на грешки на друг swf, за който нямам изходен код и не мога да направя компилация за отстраняване на грешки.

Възможно ли е това?

Опитах се да подигравам това с два много прости swf файла и въпреки че работи добре, когато и двата са компилации за отстраняване на грешки, когато външният swf е компилация без отстраняване на грешки, докато мога да накарам програмата за отстраняване на грешки да се свърже, не получавам следа съобщения, точките на прекъсване не работят и изглежда, че блокира флаш приложението.

някакви мисли? Има ли нещо очевидно, което пропускам?


person Scotty Allen    schedule 04.04.2009    source източник


Отговори (2)


Интересно, какво се случва, ако компилирате почти празен SWF, който просто се зарежда в SWF без отстраняване на грешки (който зарежда този с разрешено отстраняване на грешки)? т.е. DEBUG > NON-DEBUG > DEBUG ... нивото без отстраняване на грешки отменя ли съобщенията за отстраняване на грешки за своите „деца”?

Смятам, че това, което искате, е да използвате flex debugger за проследяване на стекове и т.н., но е добре да използвате персонализиран регистратор във вашия SWF, това е особено удобно, ако искате някой да отстрани грешки на версия онлайн и т.н. Има няколко за Google, но най-новото от върха на ума ми е ThunderBold.

person Theo.T    schedule 05.04.2009
comment
Това е интересна мисъл, поне от гледна точка на това да разберем защо не работи. Не съм сигурен колко по-лесно това ще улесни действителния ми проблем с отстраняването на грешки, ако все пак работи :) Най-вече искам да използвам точки на прекъсване - вече имам дистанционно регистриране, но е досадно да се отстраняват грешки по този начин. - person Scotty Allen; 05.04.2009

В допълнение към идеята на Тео, вероятно ще трябва да посочите класовете в контейнера за отстраняване на грешки. След това, стига да заредите swf файла без отстраняване на грешки в същия (или дъщерен) домейн на приложение (И swf файлът без отстраняване на грешки прави същото), тогава ще можете да пробиете swf файла за вътрешно отстраняване на грешки.

Можете да препращате към класове по този начин (това е миризма, но дори Flex го прави вътрешно):

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

package com.what.ever
{
    public class ApplicationClassInDebugContainer
    {
    }
}
person Richard Szalay    schedule 05.04.2009