每当我调试我的AIR应用程序时,它会一直停留在某一行代码中...它没有给我一个理由,它只是说主线程(已暂停)没有错误,没有断点在这个位置。如果我注释掉代码,以便该行不执行,它就会在不同的代码行上执行相同的操作。
我不知道为什么......我该怎么办?
谢谢!
以下是它发生的功能:
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);
}
这是它暂停的行:
updateFileData = new ByteArray();
updateFileData在函数外部定义如下:
protected var updateFileData: ByteArray;
我应该提一下......这段代码是更新air版本的代码。因为它试图在adl.exe中更新,所以这是暂停吗?
由于
答案 0 :(得分:1)
您使用的是FlexBuilder吗?
如果您是,请确保SDK源中的某个地方没有设置断点(我有时会错误地这样做)?
尝试通过调试配置文件(Window> Perspective> Flex Debugging)检查Breakpoints视图,看看是否有任何您无法识别的内容。
此外,当你挂断时,尝试单步执行代码(例如,使用F5或F6),看看是否有助于你找出调试器停止的位置。
答案 1 :(得分:0)
不是100%肯定,因为您没有遇到错误但是 - 这可能是一个问题,因为文档说您无法在调试器中进行更新:
使用时测试应用程序 AIR Debug Launcher(ADL)应用程序, 试图更新应用程序 导致IllegalOperationError 异常。
这来自livedocs。