«исходные файлы» также используются исключительно компиляторами во время компиляции, хотя, если вы попросите компилятор хорошо, он поместит символы отладки в скомпилированный двоичный файл, который будет содержать данные файла заголовка файла и исходного кода программы.
В "заголовках" нет ничего волшебного. Они просто используются соглашением и #include
d директивой препроцессора одним или несколькими "исходными файлами". И именно это «или более» является важным битом - обычно программа устроена так, что «заголовки» могут быть включены более одного раза в исходный файл.
Ваш отладчик помогает определить местоположение исходного кода.