Отладка повреждения памяти

Ранее я столкнулся с проблемой динамической памяти в C (visual studio). У меня была более или менее работающая программа, которая выдавала ошибку во время выполнения при освобождении одного из буферов. Это было явное повреждение памяти, программа перезаписывала конец буфера.

Моя проблема в том, что это было очень много времени, чтобы выследить. После сбоя ошибка была сброшена, и мне пришлось вручную отлаживать весь прогон, чтобы определить, когда конец буфера перезаписан.

Есть ли какой-нибудь инструмент \ способ помочь отследить эту проблему? если бы программа вылетела сразу, я бы нашел проблему намного быстрее ...

пример вопроса:

int *pNum = malloc(10 * sizeof(int));

//                 ||
//                 \/    
for(int i = 0; i < 13; i++)
{
pNum[i] = 3;
}

// error....
free(pNum);

Ответы на вопрос(4)

Ваш ответ на вопрос