Отладка - как выполнить код построчно? - PullRequest
12 голосов
/ 23 сентября 2011

Мне трудно отлаживать свое приложение на C # в Visual Studio.Я не могу понять, как отлаживать код построчно, но не в тот момент, когда программа запускается (потому что мне пришлось бы много раз F5, так как программе для инициализации требуется около 200 строк).Я имею в виду, давайте предположим, что я хотел бы, чтобы отладка началась в определенный момент.Что-то вроде наличия точки останова в каждой строке кода, но без фактического создания точек останова (что занимает много времени каждый раз, когда я хочу, чтобы они были созданы).

Ответы [ 3 ]

24 голосов
/ 23 сентября 2011

Я не полностью ясно, что вы ищете ...

  • Если вы не уверены, как шаг за шагом, поставьте строкуточку останова, где вы хотите запустить отладку построчно (или приостановить приложение), а затем использовать F10 в качестве «Step Over» или F11 в качестве «Step Into»вместо F5 («Go»).

  • Если вы не уверены, как вломиться в приложение, когда захотите, вы можете нажать «пауза»"в любой момент в отладчике или добавьте точку останова, на которой вы хотите остановиться, даже после запуска приложения.

Если ни то, ни другое не поможет, просьба дать дополнительную информацию.

11 голосов
/ 23 сентября 2011

Вместо того, чтобы нажимать кнопку «Выполнить», нажмите кнопку «Перешагнуть», чтобы начать свой проект. Вам не понадобятся какие-либо точки останова (хотя они полезны), и вы можете начинать выполнение кода построчно. Просто продолжайте нажимать Step Over (или Step Into, если вы хотите войти в реализацию метода).

5 голосов
/ 23 сентября 2011

Я думаю, что вы хотите использовать Step Into (F11) и Step Over (F10), которые будут проходить по вашему коду по одной строке за раз (после достижения точки останова)

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

Step Through: каждая строка кодавыполнено будет отлажено.Когда вызывается метод, поток входит в метод и возвращается к вызывающей линии после его завершения.

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

Step Out: Если вы ввели метод, используя Step Through, Step Out вернет вас кточка, в которой был вызван метод.

From http://sharpertutorials.com/using-the-debugger/

...