Переполнение буфера стека (Windows, C++): как я могу обнаружить виновника?

Существуют ли какие-либо инструменты / библиотеки в Windows, которые могут помочь мне найти виновника? Это довольно большая кодовая база с несколькими потоками.

Я в основном пишу для Linux; Окна это незнакомая территория. Спасибо за ваш вклад.

1 ответ

Решение

Для стековых буферов, скомпилируйте с /GS, см. Проверки безопасности компилятора в глубине
Для буфера кучи вы можете попробовать gflag кучи, смотрите GFlags и PageHeap, но нужно быть осторожным, так как все выделения, большие или маленькие, получат свою собственную страницу.

Другие вопросы по тегам