Существует несколько различий между сборками отладки и сборками выпуска, которые влияют как на отлаживаемость, так и на скорость. Наиболее важными являются определение _DEBUG / NDEBUG, оптимизация компилятора и создание отладочной информации.
Возможно, вы захотите создать третью конфигурацию решения и поиграться с этими настройками. Например, добавление отладочной информации в сборку выпуска на самом деле не снижает производительность, но вы уже получаете разумную трассировку стека, чтобы знать, в какой функции вы находитесь. Только информация строки не является надежной из-за оптимизации компилятора.
Если вам нужна надежная информация о линии, включите и выключите оптимизацию. Это немного замедлит выполнение, но все равно будет быстрее обычной отладки, пока определение _DEBUG еще не установлено. Тогда вы можете сделать довольно хорошую отладку, только все, что имеет "#ifdef _DEBUG" или подобное вокруг него, не будет (например, призывы к утверждению и т. Д.).
Надеюсь, это поможет,
Jan