Я часто нахожу, что устанавливаю точку останова где-то в коде и вручную включаю одну или несколько точек останова при ударе этой точки останова. Типичный случай - когда я отлаживаю unittest и не забочусь о предыдущих тестах.
void testAddZeros()
{
Number a(0);
Number b(0);
Number result = a.add(b);
assert((a + b) == Number(0))
}
void testAddOnes()
{
Number a(1);
Number b(1);
Number result = a.add(b);
assert((a + b) == Number(2));
}
void testAddNegativeNumber()
{
Number a(1);
Number b(-1)
Number result = a.add(b);
assert((a + b) == Number(0));
}
Представьте, что если testAddZeros() и testAddOnes() работают нормально, но testAddNegativeNumber(). В этом случае установка точки останова при Number result = a.add(b); была бы естественным местом для начала отладки. Теперь представьте, что ошибка находится где-то глубоко внутри Number::add, поэтому нас не интересует материал, который встречается на раннем этапе Numbers::add. Я хочу сделать, чтобы установить точку останова где-то внутри Numbers::add, которая запускается только в том случае, если я внутри testAddNegativeNumber() -test.
Есть ли способ автоматического включения точки останова B при ударе точки останова A?
