Attmdb_add_service崩溃软件

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
每个Christiansen.
离线
最后一次露面:2年7个月前
加入:2016-10-10 10:35
Attmdb_add_service崩溃软件

你好

当我调用“status = attmdb_add_service时(shdl,dest_id,nb_att_uuid_16,0,nb_att_uuid_128,total_size);”功能

nb_att_uuid_16 = 15.
nb_att_uuid_128 = 6.
Total_size = 868.

软件崩溃了。如果over_size低于868,则正常工作。我试图增加堆大小,但它是相同的结果。

如果我在函数之前和之后放置调试打印,我可以看到它的基本内部的崩溃。

设备:
mt_dialog.
离线
最后一次露面:4个月6天前
职员
加入:2015-06-08 11:34
嗨,每个克里斯蒂安娜,

嗨,每个克里斯蒂安娜,

设备崩溃的原因是因为您用完了数据库堆,这就是设备分配数据库请求的内存的大量,您已提到您已饱和导入堆(它是DB_Heap_sz定义吗?)。显然您要么增加了错误的堆型,要么在设备以不同的睡眠模式运行时增加DB堆大小。例如,如果您希望增加DB_HEAP_SZ,请转到da1458x_conifg_advanced.h文件,并在#if定义(cfg_mem_map_ext_sleep)下||!定义(cfg_mem_map_deep_sleep)使用相应的大小添加以下#define db_heap_sz。

谢谢mt_dialog.

每个Christiansen.
离线
最后一次露面:2年7个月前
加入:2016-10-10 10:35
你好

你好

在这种情况下,我认为该函数应该返回“att_err_insuff_resource”而不是崩溃。

mt_dialog.
离线
最后一次露面:4个月6天前
职员
加入:2015-06-08 11:34
嗨,每个基督徒,

嗨,每个基督徒,

设备不会崩溃,它刚刚被调用的wrap_platform_reset()重置,是的,函数应该返回所提到的内容,原因它不是因为分配所需空间的Malloc函数只调用它在函数返回之前重置,因此如果我正确地发出问题,那么您的设备将在Wrap_platform_reset()中最终找到,您应该得到的错误消息是reset_mem_alloc_fail。所以请尽量遵循上面提到的内容。

谢谢mt_dialog.