отладка EXC_BAD_ACCESS в приложении flash / iphone - PullRequest
1 голос
/ 23 июня 2011

Я использую упаковщик iPhone, который является частью Air 2.7 (adt -package ipa-ad-hoc ...) для довольно большого приложения.(Для запуска упаковщика требуется около 30 минут.)

Когда приложение запускается на iPhone, оно почти сразу падает - задолго до того, как оно попадет в мой код.Журнал сбоев показывает

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0xc0067bdb

Средства отладки, включенные в Flash Builder, работают только после запуска приложения - похоже, нет ничего, что могло бы помочь мне понять, почему оно не запускается.

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

1 Ответ

1 голос
/ 05 июля 2011

К сожалению, кажется, нет никакого способа отладить это, так как это проблема с упаковочным кодом, который окружает мой код. (

В итоге мне пришлось нелегко отследить это путем «бинарного поиска» моего кода, то есть закомментировать половину его, собрать, посмотреть, не сработает ли он, если не закомментировать другую половину и т. Д.

Это заняло некоторое время, но я сузил его до одной строки кода. Этот код никогда не запускается - только наличие этой строки приводит к сбою приложения iOS при запуске. Вот оно сводится к своей сути:

public class Foo extends EventDispatcher {
    public override function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=false):void {
        var thisFunc:Function= arguments.callee;
        super.addEventListener(type, listener, useCapture, priority, useWeakReference);
    }
}

Почему-то arguments.callee является причиной проблемы. В противном случае это действительный код AS3, поэтому он должен быть ошибкой. Я подал проблему с Adobe здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...