Как войти в одну функцию после выполнения функции в GDB? - PullRequest
0 голосов
/ 27 октября 2011

В GDB я могу вызвать одну функцию с помощью команды "call", но как я могу войти в функцию?Я не хочу перезапускать программу, но функция была выполнена, GDB выполнит следующий оператор, и я не знаю, как вызвать функцию.

Ответы [ 2 ]

0 голосов
/ 19 марта 2014

В вашей ситуации вы хотите перейти к функции, которую вы используете для выполнения команды gdb call. Таким образом, вам нужно установить breakpoint для этой функции и затем выполнить ее. Я всегда так поступаю, когда хочу в любой момент войти в функцию. Если он не входит в эту функцию, я думаю, что он, вероятно, имеет некоторые проблемы в таблице символов, в которой хранится информация о функции и ее исходном коде. Вы должны убедиться, что таблица правильная, перекомпилировав ее с -g.

0 голосов
/ 27 октября 2011

GDB имеет возможность обратной отладки .Вы можете использовать reverse-step здесь и затем снова запустить свою функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...