Como a opção de depuração -g altera o executável binário?

Ao escrever o código C / C ++, para depurar o executável binário, a opção debug deve estar ativada no compilador / vinculador. No caso do GCC, a opção é -g. Quando a opção de depuração está ativada, como isso afeta o executável binário? Quais dados adicionais são armazenados no arquivo que permite que o depurador funcione como ele fa

questionAnswers(14)

yourAnswerToTheQuestion