c - “UA_ReadRequest_deleteMembers”错误问题的 OPC-UA 函数
问题描述
大家好我有一个问题
我为客户端使用 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()。
推荐阅读
- html - 有没有办法将查看产品按钮更改为添加到报价按钮?
- highcharts - 在 xAxis 上显示实时刻度
- java - 仅在 Eclipse 中出现 Java9 模块错误(不是 IntelliJ/Gradle)
- r - 如何创建包含公共ID内另一行年龄的变量?
- automation - 将回归测试工作从 5 天减少到 1 天
- gradle - 用于构建 Gradle 的 Bitbucket 管道
- html - 如何在文件中显示 PNG 图像
- kotlin - 在 Kotlin 中 Val 和 get() 是多余的吗?
- google-colaboratory - 如何在 Colab pro+ 中增加 RAM 容量?
- r - 如何根据值的倍数循环(R)