|
在任务中申请了内存,又释放了内存,然后删除任务,程序就进hardfault了
用xPortGetFreeHeapSize查看了内存值,申请的已经被释放了
代码如下:
static void vTaskInitSetting(void *pvParameters)
{
while(1)
{
heapcheck=xPortGetFreeHeapSize();
portCHAR * root_send_s;
json_t* root_send = json_object();
json_object_set_new(root_send,"tx",json_string("msg"));
json_t* array=json_pack("[ii]",18, 22);
json_object_set_new(root_send, "Info", array);
root_send_s = json_dumps(root_send, JSON_ENCODE_ANY);
send(SOCK_TCPS,(u8 *)root_send_s,strlen(root_send_s));
json_decref(root_send);//释放内存
vPortFree(root_send_s);//释放内存
heapcheck=xPortGetFreeHeapSize();
vTaskDelete(NULL);
}
}
|
|