Возьмите этот код:
#include <iostream>
#include <memory>
#include <functional>
std::function<int()> getint = []
{
return 5;
};
void foo(int i)
{
std::cout<<i<<std::endl;
}
int main()
{
foo(getint());
}
Я остановился на точке останова в строке 17. Я хочу перейти к функции getint
.Использование step
в gdb по умолчанию приводит меня к куче внутренней хрени std::function
, которая меня не интересует. Если я продолжу наступать, я в конечном итоге доберусь до лямбды, но придется делать это для каждого std::function
звонок крайне раздражает.
Я пытался использовать команду skip
:
skip -rfu ^std::.*
, но это заставляет step
прыгнуть прямо в foo
, полностью пропуская лямбду внутри std::function
.
Можно ли настроить gdb таким образом, чтобы step
в строке 17 приводил меня прямо к лямбде в строке 7?