2016-09-21 12 views
0

Использование VC может вызвать окно разборки и перемещаться по нему. Но использование gdb кажется не таким прямым:Как использовать gdb для отладки в соответствующей разборке C-программы?

E.g. У меня myadd.c

void main(){ 
    int i=0; 
    int j=i+1; 
    j+=2; 
} 

НКУ -g myadd.c

GDB a.out

б 2 // установить точку останова в Int J = 1 + 1;

Теперь я могу использовать команду «дизассемблировать», чтобы увидеть код разборки. Мое требование - отлаживать «в» этот код разборки, например, VC. Я попробовал команду 's', она непосредственно переходит в следующий оператор C, а не инструкцию разборки.

Как это сделать?

ответ

1

Чтобы перейти к следующей инструкции по сборке, используйте вместо этого stepi (short si).

См. this для получения дополнительной информации, особенно, как использовать display/i, чтобы показать следующую инструкцию по эксплуатации.

1

Для достаточно хорошего вида сборки используйте la p (layout prev) и шаг с si (stepi). Используйте C-x a для возврата в/из регулярного приглашения gdb. В некоторых случаях могут быть полезны и другие макеты.