Я хотел бы войти в функцию, которую GDB в настоящее время выполняет, но не в функции, которые вызываются для подготовки параметров для вызова.
Есть ли в gdb единственная команда, которая обходит такие функции, как initial_metadata_flags()
, и прямо переходит к SendInitialMetadata
?
void StartCallInternal() {
> single_buf.SendInitialMetadata(&context_->send_initial_metadata_,
context_->initial_metadata_flags());
}
Если и есть, я не видел здесь упоминания об этом: https:// sourceware.org/gdb/onlinedocs/gdb/Continuing-and-Stepping.html
Мой текущий обходной путь — step
, finish
, step
, finish
, пока я не доберусь до основной функции в этой строке. Но хотелось бы чего-то более прямого.
Аналогичные вопросы задают о Python и Visual Studio , но я не нашел хорошего ответа для gdb.
1 ответ
Вы можете настроить функции, которые вы хотите пропустить при пошаговом выполнении:
(gdb) help skip
Ignore a function while stepping.
Usage: skip [FUNCTION-NAME]
skip [FILE-SPEC] [FUNCTION-SPEC]
If no arguments are given, ignore the current function.
FILE-SPEC is one of:
-fi|-file FILE-NAME
-gfi|-gfile GLOB-FILE-PATTERN
FUNCTION-SPEC is one of:
-fu|-function FUNCTION-NAME
-rfu|-rfunction FUNCTION-NAME-REGULAR-EXPRESSION
...
Похожие вопросы
Связанные вопросы
Новые вопросы
gdb
Используйте этот тег для проблем, связанных или связанных с GDB, стандартным отладчиком для программной системы GNU.
tbreak single_buf.SendInitialMetadata
с последующимcontinue
близким к тому, что вы хотите?