Я часто нахожу, что устанавливаю точку останова где-то в коде и вручную включаю одну или несколько точек останова при ударе этой точки останова. Типичный случай - когда я отлаживаю 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
?