Apache flex Flex AIR:主线程(挂起)…为什么?

Apache flex Flex AIR:主线程(挂起)…为什么?,apache-flex,air,Apache Flex,Air,每当我调试我的AIR应用程序时,它总是在某一行代码处挂起…它没有给出原因,它只是说主线程(挂起)没有错误,在这个位置也没有断点。如果我注释掉代码,使该行不执行,它只在不同的代码行上执行相同的操作 我不知道为什么。。。。我该怎么办 谢谢 以下是它发生的函数: public function update (): void { dispatchEvent ( new Event ( EVENT_UPDATE_DOWNLOAD_STARTED ) );

每当我调试我的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中尝试更新而挂起的吗?


谢谢

您正在使用FlexBuilder吗

如果是,您是否确保SDK源代码中没有设置断点(我有时会出错)
尝试通过调试配置文件(窗口>透视>Flex调试)检查断点视图,查看其中是否有您无法识别的内容


此外,挂断时,请尝试单步执行代码(例如,使用F5或F6)以查看这是否有助于您确定调试器停止的位置。

不是100%确定,因为您没有遇到错误,但是-这可能是一个问题,因为文档说您在调试器中无法执行更新:

在使用 空气调试启动器(ADL)应用程序, 正在尝试更新应用程序 导致非法操作错误 例外


这是来自的。

向我们显示相关代码可能有助于解决此问题。我添加了代码…但挂起时没有错误…在我看来,它的行为就像设置了断点,但没有,没有蓝点。现在看到它在应用程序的下一个函数中执行。我还没有更改任何内容…问题无法神奇地移动到下一个函数…这太令人沮丧了!是的,我使用的是FB3,我检查了调试透视图中的任何断点,但没有看到任何断点。我不知道如何找到除了那些蓝点以外的断点。当你“挂起”然后点击F6(跳过)时会发生什么?是否打开了任何文件,或者您的视图是否发生了任何更改,以指示被调试文件可能挂起的位置?此外,“调试”选项卡是否显示任何类型的堆栈跟踪?我认为这与此有关,我将正在处理的应用程序的版本号更改为高于更新的版本号,因此现在它不尝试更新,也不发生。我认为最大的测试是-它是否锁定在调试器之外?如果没有-那么我认为您肯定遇到了调试器问题下的更新问题。当我将其导出为.air并安装/运行它时,它工作正常。所以是的,我认为这就是问题所在。是的,我自己也有类似的问题。。。我觉得“更新”的东西有非调试场景的限制很糟糕。