2009-03-06 2 views
2

У меня есть 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 кадра стека, а не целую трассировку стека.

Есть ли способ увидеть полную трассировку стека? Как альтернатива, существует ли способ ограничить глубину стека?

Я потратил целый день, пытаясь отладить это, но я работаю с очень маленькой информацией и отсутствием инструментов. Вот что я пробовал:

  • Подключить мой код до отладчика. Это находится во Flash 9.0.28, запущенном в окнах внутри виртуальной машины, подключаясь к строителю Flex, работающему вне виртуальной машины. Кажется, он подключается, но я не получаю инструкции трассировки, и точки останова не срабатывают.
  • Отправка строк журнала на сервер http. Это работает, но я подозреваю, что я пропустил последние n кадров стека перед сбоем переполнения/сервера.
  • Слепой, двоичный тип поиска, отключающий части кода - это медленно, но, вероятно, сработает.

Любые другие стратегии, которые я должен попробовать?

+0

Более поздние версии отладчика Flex Builder еще не полностью совместимы с Flash Player 9.0.28. Я считаю, что вам нужно 9.0.115 или выше. – joshtynjala

ответ

2

Есть ли this звучит как та же проблема? Извините, поскольку это не прямой ответ на то, как вы могли бы отладить это, но больше указатель на кого-то, у кого была подобная проблема, и нашел решение.

+0

Это в конечном итоге было нашей проблемой, спасибо! Какая грубая ошибка ... –

+2

Страница, на которую вы ссылаетесь, скрыта как стена регистрации. Доступна ли такая же информация в другом месте? Потому что сейчас их сервер регистрации отключен и, как и большинство разработчиков, я бы скорее попытался исправить свою ошибку прямо сейчас! – ADB