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: