W Visual Studio skompilowano plik wykonywalny debugmode: jmp do funkcji body zamiast bezpośredniego adresu w wywołaniu

wyobraź sobie ten fałszywy program:

void foo ( void )
{
    // anything
}

int main ()
{
    foo ();
    return 0;
}

Po skompilowaniu w trybie debugowania z Visual Studio, kompilator tworzy pewnego rodzaju „mapę funkcji” lub jakkolwiek się ją nazywa.

Tak więc, gdy na przykład podążasz za foo () w debuggerze, lub po prostu próbujesz pobrać przesunięcie funkcji przez & foo, znajdziesz się na „liście” jmp, która po ich wykonaniu ponownie doprowadzi cię do rzeczywistej funkcji ciało.

Moje pytanie brzmi: czy istnieje możliwość wyłączenia tego dla pojedynczych wybranych funkcji, tak że & foo zwraca adres do treści funkcji, a nie jmp. Oczywiście bez wyłączania trybu debugowania.

Jeśli nie, która flaga włącza / wyłącza to dla całego programu?

Z góry dziękuję !

Edytuj dla użytkownika SigTerm:

questionAnswers(1)

yourAnswerToTheQuestion