Arm 在mbed os上使用mbed客户端删除LWM2M对象时,应用程序崩溃

Arm 在mbed os上使用mbed客户端删除LWM2M对象时,应用程序崩溃,arm,mbed,coap,Arm,Mbed,Coap,当mbed客户端连接到设备服务器时,如何删除对象及其实例 目前,我有一个类在构造函数中创建一个对象,并将其注册到mbed客户端。我还想在调用析构函数时删除这个对象。我正在尝试以下方法: 在构造函数中: object = M2MInterfaceFactory::create_object(name); instance = object->create_object_instance(); 在析构函数中: object->remove_object_instance(instanc

当mbed客户端连接到设备服务器时,如何删除对象及其实例

目前,我有一个类在构造函数中创建一个对象,并将其注册到mbed客户端。我还想在调用析构函数时删除这个对象。我正在尝试以下方法:

在构造函数中:

object = M2MInterfaceFactory::create_object(name);
instance = object->create_object_instance();
在析构函数中:

object->remove_object_instance(instance->instance_id());
// delete object;
上面的代码可以工作,但对象永远不会从内存中删除

如果我取消注释该行以调用对象的析构函数,那么我的应用程序将崩溃。我使用mbed跟踪查看是否有任何错误消息,但找不到任何内容。是从调用析构函数到应用程序崩溃的日志输出


我在mbed os 5.4.1上使用Nucleo-F401RE。

根据我的观察,您必须先取消注册,然后删除接口/资源


但是,我已经看到,由于某些原因,在连续销毁之后,mbed客户端接口不能创建超过6次;第七种情况之一是客户端无法连接到服务器并返回“M2MIvaildParametersError”。如果有人能对此发表评论,我将不胜感激。

根据我的观察,您必须先取消注册,然后删除接口/资源


但是,我已经看到,由于某些原因,在连续销毁之后,mbed客户端接口不能创建超过6次;第七种情况之一是客户端无法连接到服务器并返回“M2MIvaildParametersError”。如果有人能对此发表评论,我将不胜感激。

在删除资源之前,您是否先(使用mbed客户端)注销了该资源?否,客户端仍在注册中。我的目的是在客户端仍处于连接状态时动态创建和删除对象。我很确定,根据OMA LwM2M规范,这是不允许的。在删除资源之前,您是否先注销了(使用mbed客户端)?否,客户端仍处于注册状态。我的目的是在客户端仍处于连接状态时动态创建和删除对象。我很确定,根据OMA LwM2M规范,这是不允许的。