项目:AIR桌面,Flex 4.6,AIR 15,OSX 10.9.5,Flash Builder 4.6
我得到了一个我无法诊断的ADL崩溃。我用跟踪语句,try / catch语句和断点来破坏我的代码,而没有追查问题。内存使用量似乎并不过分。奇怪的是,当我分析应用程序时没有崩溃。
我唯一能想到的是这种情况在某种情况下运行" profile"模式面具。那个或垃圾收集在某种程度上延迟了" profile"模式。 OSX崩溃日志引用function final(arr) {
var aux = {}, index = 0;
return arr.reduce(function (memo, el) {
var key = el.name,
obj = aux[key];
if (!obj) {
aux[key] = {
id: index++,
name: key,
mobile: el.mobile
};
memo = memo.concat(aux[key]);
} else {
obj.mobile += "," + el.mobile;
}
return memo;
}, []);
}
console.log(final(arr));
但我无法理解我的代码。
有没有人遇到过这种ADL崩溃或识别出这些症状?
EXC_BAD_ACCESS
答案 0 :(得分:0)
项目: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),崩溃似乎不会发生。所以我认为它可能是异步加载/完成的某种竞争条件。
我不相信它与垃圾收集/内存有任何关系 - 据我能够监控。
我很沮丧。