Russian Qt Forum
Ноябрь 23, 2024, 05:09 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Отладка сложных вызовов функций  (Прочитано 3664 раз)
enumerator
Гость
« : Март 24, 2012, 21:22 »

Добрый день. Интересует следующий вопрос. Можно ли как-то настроить qt creator или gdb таким образом, чтобы при отладке конструкций вида
Код:
void f( int first, int second )
{}

int g()
{ return 1; }

int h()
{ return 2; }

int main()
{
    f( g(), h() );
    return 0;
}
в точке вызова функции f() после возврата из функции h отладчик вновь попадал в код main в точку перед входом в g? В существующей версии, по крайней мере у меня, если при отладке зайти в h, дойти до ее конца и нажать f10, то мы пропустим вызовы g и f и окажемся в точке перед самым выходом из main. Данный вопрос интересует по той причине, что зачастую при вычислении аргументов создаются временные объекты и лазать по исходникам stdlibc++ в ожидании завершения этого процесса и входа в целевую функцию очень не хочется, как не хочется и по каждому такому случаю ставить новый breakpoint.
Записан
andrew.k
Гость
« Ответ #1 : Март 24, 2012, 23:47 »

так жми F11
Записан
enumerator
Гость
« Ответ #2 : Март 25, 2012, 10:20 »

Так в том то и дело, что приходится до посинения F11 жать, посетив при этом все потроха библиотечных и собственных функций, а хочется, чтобы по нажатию F10 возвращалось в точку вызова.
Записан
andrew.k
Гость
« Ответ #3 : Март 25, 2012, 18:26 »

Так в том то и дело, что приходится до посинения F11 жать, посетив при этом все потроха библиотечных и собственных функций, а хочется, чтобы по нажатию F10 возвращалось в точку вызова.
В параметрах отладчика поставь галку "пропускать известные этапы при пошаговой отладке".
Записан
enumerator
Гость
« Ответ #4 : Март 25, 2012, 22:01 »

Она и так стоит. Как я понимаю, она отключает заход в некоторые функции из заранее предопределенного списка. Это не совсем то, чего хочется. Хочется, чтобы отладчик "ходил" по коду как в Visual Studio, возвращаясь в точку вызова после вычисления каждого следующего аргумента, т.е. просто немного поменять логику его работы. Возможно, для этого есть какая-нибудь консольная команда самого gdb.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.107 секунд. Запросов: 20.