诊断 ADL 崩溃?

Posted

技术标签:

【中文标题】诊断 ADL 崩溃?【英文标题】:Diagnosing ADL crash? 【发布时间】:2015-07-02 02:24:50 【问题描述】:

项目: AIR 桌面、Flex 4.6、AIR 15、OSX 10.9.5、Flash Builder 4.6

我遇到了无法诊断的 ADL 崩溃。我在代码中乱扔了跟踪语句、try/catch 语句和断点,而没有追踪问题。内存使用似乎并不过分。奇怪的是,当我分析应用程序时,它并没有崩溃。

我唯一能想到的是,这是在“配置文件”模式掩码中运行的某种竞争条件。该或垃圾收集在“配置文件”模式下以某种方式延迟。 OSX 崩溃日志引用了EXC_BAD_ACCESS,但就我的代码而言,我无法理解其他任何内容。

有没有人遇到过这种 ADL 崩溃或认识到这些症状?

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000

【问题讨论】:

【参考方案1】:

项目:AIR 桌面、AIR 17、OSX 10.10.3

是的,同样的事情......但我得到了 SIGSEGV:

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

...原来是“无效的内存访问”消息。最后一个人类可读的崩溃行显示:

... __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15

那么剩下的只是 com.adobe.AIR 上的十六进制值。我还乱扔了跟踪和调试步骤,yada yada。

当我在代码执行中加入延迟(通过 setTimout)时,崩溃似乎不会发生。所以我认为这可能是跨异步加载/完成的某种竞争条件。

据我所知,我认为这与垃圾收集/内存没有任何关系。

我很沮丧。

【讨论】:

我感受到你的痛苦。 . . ;-) 这似乎是某种加载的东西——我正在加载一个 .psd 文件,并且我有一个显示图层缩略图和名称的 Spark 列表。我的下一步将只是禁用所有这些 - 开始削减更多代码,直到崩溃停止。乐趣。 . .祝你SIGSEGV好运! 我想我解决了我的问题。似乎它涉及组件生命周期和可能数据绑定。场景:我通过 PopUpManager 打开一个 Panel 子类并让 Panel 加载图像资产。 TileList 显示图像的缩略图。加载可能在面板完全初始化之前发生。将加载代码移至 creationComplete 事件,崩溃似乎已解决。这将与比赛条件相关/不会发生延迟等。不知道这是否是您崩溃的根源,但我认为我会提供它作为一种可能性。 番茄——我的情况没有发生任何视图构造。我正在使用 Starling + feathers 并认为其中可能有一些导致问题的代码......我什至删除了所有 Starling 和 Feathers UI 组件(是的,我从头开始重建了新的 UI 组件) 并且只使用了原版 AS3...虽然崩溃没有那么严重,但它们仍然发生了——所以这不是椋鸟或羽毛问题。

以上是关于诊断 ADL 崩溃?的主要内容,如果未能解决你的问题,请参考以下文章

Intellij 诊断崩溃问题

我应该如何诊断和防止 JVM 崩溃?

如何编写 ADPlus 脚本以方便客户用于诊断崩溃和挂起

Qt Creator 在创建或打开 .ui 文件时崩溃。如何诊断?

Linux C/C++ 崩溃诊断大师:解锁软件问题定位与修复的秘密武器

如何诊断 iPad iPhone 应用程序中的 EXC_BREAKPOINT (SIGTRAP) 崩溃?