attmdb\u add\u服务崩溃软件

⚠️
你好。。谢谢你来参加论坛。令人兴奋的消息!我们现在正在移动到我们的新论坛平台,将提供更好的功能,并包含在主对话网站的过程。所有帖子和账号都已迁移。我们现在只接受新论坛上的流量-请在//www.xmece.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
4个职位/0个新职位
最后一篇文章
佩克里斯蒂安森
离线
最后一次见到:2年8个月前
已加入:2016-10-10 10:35
attmdb\u add\u服务崩溃软件

您好!

当我调用“status=attmdb\u add\u服务(shdl,dest\u id,nb\u att\u uuid\u 16,0,nb\u att\u uuid\u 128,total\u size);”函数

注意:16=15
nb\u att\u uuid\u 128=6个
总尺寸=868

软件崩溃了。如果总大小小于868是正常的。我试图增加堆大小,但结果是一样的。

如果我在函数前后放置一个调试打印,我可以看到它在基金会内部崩溃。

设备:
MT\u对话框
离线
最后一次见到:4个月2周前
工作人员
已加入:2015-06-08 11:34
你好,佩尔·克里斯蒂安森,

你好,佩尔·克里斯蒂安森,

设备崩溃的原因是因为数据库堆用完了,这是设备分配数据库请求的内存量的地方,您已经提到您已经准备好启动堆了(是DB\u heap\u SZ定义吗?)。显然,您增加了错误的堆类型,或者在设备以不同的睡眠模式运行时增加了DB堆大小。例如,如果您想增加DB_HEAP_SZ,请转到da1458x_conifg_advanced.h文件,并在#if defined(CFG_MEM_MAP_EXT_SLEEP)| |下!defined(CFG_MEM_MAP_DEEP_SLEEP)添加以下具有相应大小的define DB_HEAP_SZ。

谢谢你的对话

佩克里斯蒂安森
离线
最后一次见到:2年8个月前
已加入:2016-10-10 10:35
您好!

您好!

在这种情况下,我认为函数应该返回“ATT\u ERR\u INSUFF\u RESOURCE”,而不是崩溃。

MT\u对话框
离线
最后一次见到:4个月2周前
工作人员
已加入:2015-06-08 11:34
你好,佩尔·克里斯蒂安森,

你好,佩尔·克里斯蒂安森,

设备没有崩溃,只是因为调用了wrap\u platform\u reset()而重置,是的,函数应该返回您提到的内容,之所以没有,是因为分配所需空间的malloc函数只是在函数返回之前调用重置,因此,如果我让您正确地发出问题,那么您的设备将在wrap\u platform\u reset()中结束,并且您应该得到的错误消息是reset\u MEM\u ALLOC\u FAIL。所以请试着遵循我上面提到的。

谢谢你的对话