最近调试一个代码,原本运行的不错,在增加一些功能后突然出现了 堆破坏的错误。由于并没有动态链接第三方的dll,所以问题无非是指针越界之类的,但是检查了很久之后并没有发现越界的指针,百思不得其解。
今天只得回溯版本,一步一步添加代码调试。最后发现问题原来是一个手误
output_queue_t* node2_output = (output_queue_t*)calloc(node2_output_num, sizeof(output_queue_t));
不小心写成了
output_queue_t* node2_output = (output_queue_t*)calloc(node2_output_num, sizeof(output_queue_t*));
不由的感叹,手贱啊。。。。。