Adobe Flash Professional - номер строки ошибки времени выполнения? - PullRequest
1 голос
/ 07 августа 2010

Скомпилированная ошибка хорошо показывает номер строки, но как насчет номера строки во время выполнения?Я часто получаю сообщение об ошибке, например:

ArgumentError: Ошибка № 1063: несоответствие числа аргументов на картах :: Game / myfunction ().Ожидаемый 0, получил 1

, и если у меня много myfunction () в моем AS3.Было бы неприятно, если бы мне пришлось проверять одну за другой.

Разве номер строки определенно не спас бы много раз?

Ответы [ 3 ]

4 голосов
/ 07 августа 2010

Зайдите, чтобы опубликовать настройки, выберите вкладку «Flash» и отметьте «Разрешить отладку».Это даст вам больше подробных трассировок стека, включая номера строк (если они доступны, конечно).Эта опция не включена по умолчанию.При публикации для развертывания рекомендуется снять этот флажок (он аналогичен созданию версий bin-debug и bin-release в Flex Builder и других IDE ActionScript).

0 голосов
/ 07 августа 2010

смысл строки трассировки в том, что она показывает вам список команд, которые были вызваны, по порядку, чтобы вы могли отслеживать, где именно (и, надеюсь, почему) произошел сбой вызова (например, событие -> обработчик события -> функция-> другая функция -> ошибка).Вы не должны иметь одинаковые имена функций в одной и той же области видимости, поэтому всегда легко найти их, если вы научитесь читать трассировку.например, ошибка, которую вы выбросили, означает, что вы вызвали функцию myfunction () в классе cards.Game со слишком большим количеством переменных.По общему признанию, номер строки может быть полезен в некоторых случаях (главным образом, ошибки «нулевой ссылки»), но с помощью команды trace () вы обычно можете получить его довольно быстро.

0 голосов
/ 07 августа 2010

Вы можете попробовать использовать Flash Builder 4 в качестве среды IDE для Flash. Он предоставит вам гораздо лучшие инструменты для отладки.

...