mbed 클라이언트가 장치 서버에 연결된 동안 객체와 해당 인스턴스를 삭제하려면 어떻게해야합니까?mbed-os에서 mbed-client를 사용하여 LWM2M 객체를 삭제할 때 응용 프로그램이 충돌 함
현재 생성자에 개체를 만드는 클래스가 있는데 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를 사용하고 있습니다.
자원을 제거하기 전에 먼저 mbed Client를 등록 취소하셨습니까? –
아니요, 클라이언트가 아직 등록되어 있습니다. 나의 의도는 클라이언트가 여전히 연결되어있는 동안 동적으로 객체를 생성하고 삭제하는 것이다. – araad
OMA LwM2M 사양에 따라 허용되지 않았 음을 확신합니다. –