C ++ не требует, чтобы приложения хранили метаданные для облегчения отладки. И если такие метаданные не могут быть найдены, то отладчику не нужно много работать. Все, что он видит, - это машинный код, который выполняется, поэтому он должен вернуться к отображению простого кода сборки.
Однако компиляторы обычно могут создавать отладочную информацию, которую может использовать отладчик. Они в основном сообщают компилятору, как выглядит исходный код (или где найти исходные файлы), и какие инструкции соответствуют тем или иным строкам исходного кода, что позволяет вам отлаживать фактически написанный вами код C ++.
Вы не указали, какой компилятор или отладчик вы используете, поэтому я не могу рассказать вам, как использовать это в вашем конкретном случае.
На GCC, насколько я могу вспомнить, вы должны скомпилировать с -g
, чтобы сгенерировать отладочную информацию для использования GDB.
В Visual Studio это должно работать просто в большинстве случаев (хотя я считаю, что если вы запускаете «Пустой проект C ++», вы должны сами включить отладочную информацию в свойствах проекта)