2009-06-22 10 views
0

Immer wenn ich meine AIR-App debuggen hält es an einer bestimmten Codezeile aus ... es gibt mir keinen Grund warum es nur sagt Haupt-Thread (gesperrt) Kein Fehler, kein Breakpoint an dieser Stelle. Wenn ich den Code auskommentiere, damit diese Zeile nicht ausgeführt wird, macht sie dasselbe auf einer anderen Codezeile.Flex-AIR: Hauptfaden (ausgesetzt) ​​..... WARUM?

Ich habe keine Ahnung warum .... Was soll ich tun?

Danke !!

Hier ist die Funktion, die sie in geschieht:

public function update(): void 
     { 
      dispatchEvent (new Event (EVENT_UPDATE_DOWNLOAD_STARTED)); 

      var request: URLRequest = new URLRequest (_newVersionUrl); 
      urlStream = new URLStream(); 
      updateFileData = new ByteArray(); 
      urlStream.addEventListener (Event.COMPLETE, streamDownloadComplete); 
      urlStream.addEventListener (ProgressEvent.PROGRESS, streamDownloadProgress); 
      urlStream.addEventListener (IOErrorEvent.IO_ERROR, versionCheckIOErrorHandler); 
      urlStream.load(request); 
     } 

das ist die Linie auf aussetzt:

updateFileData = new ByteArray(); 

updateFileData definiert ist außerhalb der Funktion wie folgt:

protected var updateFileData: ByteArray; 

Ich sollte erwähnen ... dieser Code ist der Code, der die Version von air..coul aktualisiert D dies suspendiert sein, weil es versucht, in adl.exe zu aktualisieren?

Dank

+0

Das Anzeigen des entsprechenden Codes kann dabei helfen, dieses Problem zu beheben. – Sev

+0

Ich habe den Code hinzugefügt ... aber es gibt keinen Fehler beim Suspendieren ... es scheint mir, als würde es so tun, als ob dort ein Breakpoint gesetzt ist, aber es gibt keinen, keinen blauen Punkt. –

+0

Sehen Sie es jetzt in der nächsten Funktion auf der App .. Ich habe noch nichts geändert ... das Problem konnte nicht magisch auf die nächste Funktion verschieben ... das ist so frustrierend! –

Antwort

0

nicht 100% sicher, weil Sie nicht den Fehler schlagen aber - Dies könnte ein Problem entstehen, dass die docs sagen Sie das Update nicht tun können, während im Debugger:

Wenn eine Prüfung Anwendung mit der AIR Debug Launcher (ADL) -Anwendung, versucht, die Anwendung zu aktualisieren führt zu einem IllegalOperationError Ausnahme.

Dies ist von der livedocs.

+0

Ich denke, das hat damit zu tun, dass ich die Versionsnummer der App, an der ich arbeite, höher als die Versionsnummer des Updates geändert habe. Jetzt versucht es nicht zu aktualisieren und es passiert jetzt nicht. –

+0

Ich denke, der große Test ist - schließt es außerhalb des Debuggers? Wenn nicht - dann denke ich, dass Sie sicherlich ein Problem mit dem Update unter Debugger-Problem haben. – Gabriel

+0

Wenn ich es als .air exportiert und installiert/laufe es funktioniert gut. Also ja, ich denke, das ist das Problem. –

1

Sind Sie mit Flexbuilder?

Wenn ja, haben Sie sichergestellt, dass in Ihrer SDK-Quelle kein Haltepunkt gesetzt ist (manchmal mache ich das versehentlich)?
Versuchen Sie, über das Debugging-Profil (Fenster> Perspektive> Flex-Debugging) die Ansicht Haltepunkte zu überprüfen, um festzustellen, ob etwas darin enthalten ist, das Sie nicht erkennen.

Wenn Sie aufgelegt haben, versuchen Sie auch, durch den Code zu gehen (z. B. mit F5 oder F6), um festzustellen, ob Sie dadurch herausfinden können, wo der Debugger gestoppt wurde.

+0

Ja, ich benutze FB3, ich habe die Debug-Perspektive für alle Break-Punkte überprüft und habe keine gesehen..Ich weiß nicht, wie man Break-Punkte außer diesen blauen Punkten erkennen kann. –

+0

Was passiert, wenn du "suspendiert" bist und dann F6 drückst (um zu überspringen)? Werden irgendwelche Dateien geöffnet oder ändert sich Ihre Ansicht überhaupt, um anzuzeigen, wo die Debugging-Datei möglicherweise aufgelegt wurde? Zeigt die Debug-Registerkarte auch eine Stack-Trace? –

Verwandte Themen