Я экспериментировал с предоставлением лучшей отладочной информации, когда ошибка возникает в асинхронном коде в AS3.
В качестве примера плохой отчетности об ошибках по умолчанию, возьмите случай, когда я принудительно устанавливаю нулевой указатель вОбратный вызов таймера ( github gist ), я получаю на консоли следующую трассировку стека:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at Function/<anonymous>()[/[path-to-source-file]/TestClass.as:14]
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
Это очень мало говорит мне о том, как обратный вызов таймера фактически ссылается на мой код.
Вопрос в том, как я могу получить информацию о том, какой код создал обратный вызов?
Я добавил одно из своих решений ниже.Мне интересно посмотреть, можно ли это улучшить.