No Visual Studio debugmode compilado executável: jmp para corpo da função em vez de endereço direto na chamada
imagine este programa falso:
void foo ( void )
{
// anything
}
int main ()
{
foo ();
return 0;
}
Quando compilado no modo de depuração com o Visual Studio, o compilador cria algum tipo de "mapa de função" ou no entanto é chamado.
Assim, quando você, por exemplo, segue foo () em um depurador, ou apenas tenta recuperar o deslocamento da função via & foo, você se encontra em uma "lista" de jmps, que irá quando você os seguir novamente para a função real corpo.
A minha pergunta é: Existe a possibilidade de desabilitar isso para funções únicas escolhidas de modo que & foo retorne o endereço para o corpo da função, não para o jmp. Claro, sem desabilitar o modo de depuração.
Se não, qual sinalizador ativa / desativa isso para todo o programa?
Desde já, obrigado !
Editar para o usuário SigTerm: