У меня есть код, полный функций, таких как:
bool f_i()
{
if (!f_0()) {
return false;
}
if (!f_1()) {
return false;
}
// ...
if (!f_n()) {
return false;
}
return true;
}
// etc...
На каком-то шаге выполнения некоторый вызываемый абонент может вернуться false
, а также false
распространяется через всех абонентов. В настоящее время сложно писать сообщения об ошибках (код быстро меняется). Во время отладки чрезмерно иметь сообщения об ошибках перед каждым return false;
,
Можно ли установить условный (условие: скажем, функция возврата false
) точка останова на return
Устав во всем мире, используя GDB
?
На каком-то шаге выполнения некоторый вызываемый может вернуть false
Как я понимаю, вы хотите найти первую функцию, которая вернула false
внутри f_i()
, Ты можешь использовать обратная отладка за это.
Вы можете:
завершить текущее выполнение кадра
(GDB) плавник
шаг назад, если возвращаемое значение false
(GDB) обратный шаг
если вам нужно, вы можете продолжать идти назад, глубже в false
вызовы распространения
(GDB) обратный плавник
(GDB) обратный шаг