如何在mbed客户端连接到设备服务器时删除对象及其实例?
目前我有一个在构造函数中创建对象的类,我将其注册到mbed客户端。我还想在调用析构函数时删除此对象。我正在尝试以下方法:
在构造函数中:
object = M2MInterfaceFactory::create_object(name);
instance = object->create_object_instance();
在析构函数中:
object->remove_object_instance(instance->instance_id());
// delete object;
上面的代码可以正常工作,但永远不会从内存中删除对象。
如果我取消注释该行以调用该对象的析构函数,那么我的应用程序崩溃了。我使用mbed-trace查看是否有任何错误消息,但找不到任何内容。 Here是从调用析构函数到应用程序崩溃的日志输出。
我正在使用带有mbed-os 5.4.1的Nucleo-F401RE。
答案 0 :(得分:0)
根据我的观察,您必须先取消注册,然后删除界面/资源。
但是,我已经看到mbed客户端界面由于某种原因在连续破坏后不能创建超过6次;第7个客户端无法连接到服务器并返回'M2MIvaildParametersError'。如果有人可以对此发表评论,我将不胜感激?