Здравствуйте, rg45, Вы писали:
Pzz>>Да и собственно, я не и делаю отдельных отладочных сборок, зачем мне тестировать и отлаживать дебугную сборку, если пользователю я поставляю релизную?
R>Ну и зря. Отладочные сборки могут помочь обнаружить в программе разного рода UB: неинициализированные переменные, битые ссылки, заезды по памяти и пр.
Мы, может, о чём-то разном говорим?
Я подразумеваю под отладочной сборкой сборку с отладочной информацией, выключенной оптимизацйей и включенными проверками. А под релизной — без отладочной информации, с включенной оптимизацией и без проверок.
Я обычно отладочную информацию и оптимизацию включаю всегда, и проверки оставляю включенными в релизных сборках.
Но gcc/clang не будет сам по себе следить за битыми ссылками, хоть с опцией -g, хоть без нее. Это надо санитайзеры всякие подключать. Я их пока не осилил, пользуюсь valgrind-ом.
При этом в gcc санитайзер вроде еще не завезли, а clang-овский требует, чтобы все библиотеки были с ним пересобраны. Такое себе, полсистемы пересобирать и непонятно куда выкладывать, чтобы с предустановленными библиотеками не поссориться.