大家好我有一个问题
我在客户端使用OPC-UA,遇到了一些问题
这是问题代码
UA_ReadRequest requestPos;
UA_ReadRequest_init(&requestPos);
UA_ReadValueId idPos;
UA_ReadValueId_init(&idPos);
idPos.attributeId = UA_ATTRIBUTEID_VALUE;
idPos.nodeId = UA_NODEID_STRING(6, (char*)"::AsGlobalPV:gMotionPos");
requestPos.nodesToRead = &idPos;
requestPos.nodesToReadSize = 1;
UA_ReadResponse responsePos = UA_Client_Service_read(client, requestPos);
UA_ReadRequest_deleteMembers(&requestPos);
我想清除
UA_ReadRequest requestPos;
,所以我使用UA_ReadRequest_deleteMembers(&requestPos);
,但编译器说:“***.exe导致了断点发生”我不能理解这个错误。 最佳答案
您已经创建了一个非所有者字符串nodeid删除成员将释放所使用的内存,即使它不是所拥有的,也会导致内存损坏。
将UA_NODEID_STRING()替换为UA_NODEID_STRING_ALLOC()。