Недавно я закодировал функцию, которая не работала должным образом. Мне удалось выяснить, что не так, и исправить это окольным путем, но мне было интересно, есть ли более легкий путь. Функция (урезанная) выглядит примерно так:
int func(int param)
{
if(param == 0) return SOMETHING;
//...
for(int i = 0;i < 4;i++) {
// Point A
func(param - 1);
}
//...
}
Я хотел установить точку останова в точке A, чтобы я мог видеть, что происходит для param = 10 (например) и i = 0, 1, 2, 3, но проблема в том, что функция рекурсивная, поэтому она вызывает себя (в данном случае) param = 9, 8, ... Мне было интересно, есть ли способ установить точку останова только для определенного случая. В этом случае я использовал MS Visual C ++ Express 2008, но если есть способ сделать это с другим компилятором (возможно, g ++ / gdb), то это тоже будет полезно.