Отладка - Step Into (F11) не идет прямо к функции - PullRequest
0 голосов
/ 31 мая 2018

Когда я отлаживаю свой код и нахожусь в строке, которая вызовет созданную мной функцию (взорваться):

vector<string> parte = explode(linha, ";");

В этой строке я хочу, чтобы отладчик перешел в 'взорвать 'функцию.

Однако при нажатии клавиши F11 отладчик просматривает сотни строк из файлов xstring, xutility, xmemory0, xstddef и других, поэтому только после всего этого путешествия перейдите к моей функции "Разнесение".

Почемуэто происходит?

И как этого избежать?F11 может перейти прямо к моей функции и не «прогуливаться» через всех этих посредников?

1 Ответ

0 голосов
/ 05 июня 2018

Что ж, одной из причин может быть то, что ваша функция explode принимает параметры другого типа (например, std::string), которая сама вызовет многие функции, если вы выполните F11 .

* 1006.* Обычно в таком случае, когда вы вводите функцию, которую вы не хотите отслеживать, используйте Shift + F11 (выход), чтобы вы сразу вернулись на вызывающий сайт, а затем повторите это для любого другогопромежуточный звонок.В некоторых случаях F10 может уменьшить количество шагов.

Иногда вы можете изменить код, чтобы сделать его более удобным для отладки для примера, используя некоторые временные переменные.

Однако альтернативой является установка точки останова внутри вашей функции explode.Тем не менее, это работает хорошо, только если есть только несколько звонков, прежде чем тот, который вас интересует.Иногда вы могли бы поставить условие на точку останова или в местоположение вызывающего абонента.В другой раз, установка второй точки останова при первом попадании также может сработать.

С помощью нескольких подобных трюков вы можете значительно сократить количество дополнительных шагов.

Также ограничьте количество видимых окон отладки, если они вам не нужны, так как некоторые из них относительно медленные (например, для потоков), а иногда без них вы можете просто нажать F11 несколько раз, пока не нажметежелаемая функция.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...