У меня проблема с GDB, когда я использую «s» для перехода к функции, вызываемой из основного, GDB переходит к другой функции, не показывая мне нужную мне функцию.Чтобы было ясно, я использую шаг здесь:
в main.c
short c= get(a,b);
Теперь get имеет код из 36 строк, а в строке 27 он вызывает другую функцию "swap" здесь:
в get.s
call _swap;
Когда я использую шаг (ы) с gdb для "get", он перебирает все функции get и показывает мне функцию _swap.Это 3 разных файла: main.c get.s swap.c, скомпилированный таким образом:
gcc -g -m32 main.c swap.c get.s -o IA-main
-m32, потому что get.s это сборка IA-32.Вопрос в том, «почему он переходит« получить »функцию, и он показывает мне только« _swap »?
Я могу опубликовать код при необходимости. Я работаю на Mac OS Sierra 10.12.6, поэтому GDB немного раздражает.