Повторное обнаружение нарушений памяти Visual Studio в Linux - PullRequest
3 голосов
/ 10 октября 2010

Я разработал программу C для командной строки (не GUI) на Linux, используя QT Creator, который внутренне использует gdb в качестве отладчика. Когда я отлаживал программу в Windows с помощью Visual Studio, она сообщала, что она писала за пределами выделенной памяти (хотя она не сообщала о нарушении в то время, когда оно имело место, поэтому было все еще трудно отследить). В конце концов мне удалось найти место в коде, где вызов malloc выделял слишком мало памяти, и это решило проблему.

Однако меня беспокоит, что эта проблема никогда не обнаруживалась на стороне Linux. Существуют ли какие-либо переключатели или что-то, что позволило бы включить эту функцию обнаружения в Linux?

1 Ответ

3 голосов
/ 10 октября 2010

Существует множество валидаторов памяти в коде, которые работают как для Windows, так и для Linux. Проверьте Wikipedia для их списка. Однако большинство пользователей Linux используют Valgrind в качестве основного инструмента для отладки памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...