map insert segment abort fault

_hashMap.insert(pair<String, HASH_TABLE*>(tmp, hashtabletmp));

这句会报segment或abort错误


经同事帮看,也翻来覆去自查,终于发现原来是malloc中

hTable->hList = (pHASH_ENTRY)malloc(hTable->listLen * (HASH_ENTRY_SIZE));    
这句写成了

hTable->hList = (pHASH_ENTRY)malloc(hTable->listLen * (sizeof(HASH_ENTRY_SIZE)));    


问题解决。能力不足以解释的是:

为啥调试单步时容易insert可以通过,continue时不能通过。



你可能感兴趣的:(map,insert,fault,segment)