工具与软件:
使用 SDK-7时,应用程序将 heapMem 与 gateMutex:

如果 heapsize 配置为: HEAPSIZE = 0x10000;且剩余大量空间,则函数无法释放内存。 由于同一函数分配(Memory_alloc)内存并在函数调用期间将其释放三次、因此每次空闲调用都不会发生这种情况。
调试到函数 free (ptr);中、我发现以下函数中的 size 参数损坏(536892040)、并调用: HeapMem_freeUnprotected。
/*
*==== MEMORY_FREE ===
*/
void Memory_free (Heap_Handle 堆、void *块、size_t 大小)
{
if (heap == NULL){
heap = Memory_defaultHeapInstance;
}
heap->free (heap、block、size);
}
崩溃前:

问题:发生这种情况是因为应用程序正在调用 Memory_alloc 并使用 free ()来释放? 之前、我使用的是 malloc、这导致了崩溃。
