Вхождение в функцию, но не в оценку аргументов с VS2017
Если часто возникает следующая ситуация:
int HelperFunction(int somevalue)
{
...
}
void FunctionToDebug(int somearg)
{
...
}
...
SomeFunction();
>> FunctionToDebug(HelperFunction(somevalue))
...
Теперь я перехожу через свой код, и я прихожу к вызову функции, помеченному >>
в фрагменте кода выше.
Когда я использую команду "шаг в", отладчик сначала переходит в HelperFunction
, а затем в FunctionToDebug
, который ожидается, но который может раздражать, например. если HelperFunction
полностью отлаживается.
Есть ли какая-то функциональность или трюк, которые позволили бы мне перейти непосредственно в FunctionToDebug
, не вступая в функции, вызванные при оценке аргументов (HelperFunction
здесь)?
ИЗМЕНИТЬ
На самом деле это не дубликат:
Есть ли способ автоматически избежать перехода на определенные функции в Visual Studio?
поскольку я хотел бы принять решение на месте, если я хочу вступить в аргументы или нет, но это все равно интересно.
Ответы
Ответ 1
Да, но это хорошо скрыто и легко забыть - не в раскрывающемся меню Debug. Поместите курсор на вызов функции, затем
right-click -> Step Into Specific -> [name of function]
Я неоднократно отправлял предложения в MS о том, что они добавляют версию Step Into, которая непосредственно переходит в самый внешний вызов функции. Я прошу вас сделать то же самое. Он должен быть указан в меню "Отладка", а также "Шаг вперед", "Шаг за шагом" и "Шаг за шагом". Ничто не является более утомительным, чем спотыкаться в этот лабиринт извилистых проходов, который является Dinkumware.
Ответ 2
Как установить одну точку (если есть) в точку FunctionToDebug и позволить запустить код?