Отладка приложений на C # - PullRequest
3 голосов
/ 07 августа 2009

Я пришел из PHP фона, где мои "инструменты" отладки в основном echo, var_dump и exit. Хотя я знаю важность отладки, я никогда не пытался использовать / изучать инструмент отладки.

Сейчас я изучаю C # и думаю, что не могу действительно программировать без глубоких знаний в этой области.

Итак, мой вопрос: где я могу узнать , что такое и , как выполнить отладку? Я знаю, что такое точка останова (концептуально), но как ее использовать? Как использовать Step into и Step over? Основные вещи, как это.

Как связанный вопрос, в C # (Visual Studio) есть что-то вроде var_dump, где я могу проверить любой объект.

Мне очень трудно и больно делать foreach для каждого массива / списка, чтобы увидеть содержимое, особенно сейчас, когда я все еще изучаю язык.

Ответы [ 4 ]

11 голосов
/ 07 августа 2009

Microsoft имеет подробное руководство по отладке C # в Visual Studio , которое может оказаться полезным.
VS имеет lot мощных функций отладки; например, вместо того, чтобы делать foreach, чтобы увидеть содержимое массива, как вы описывали, вы можете установить точку останова (приостановка выполнения программы) и выбрать переменную, которую вы хотите видеть содержимое (массив или список или что-то еще) и посмотреть, что оно содержит, без необходимости писать дополнительный код.
Step Into и Step Over можно использовать для продолжения выполнения программы, но только постепенно, чтобы вы могли продолжать видеть, как меняются переменные, где в данный момент поток выполнения и т. д.

4 голосов
/ 07 августа 2009

Это было рассмотрено ранее в StackOverflow:

Лучшее учебное пособие по отладке Visual Studio 2008?

2 голосов
/ 07 августа 2009

Итак, ваши скомпилированные приложения могут быть запущены в режиме «отладки», из которого Visual Studio может отслеживать внутреннюю работу приложения и даже контролировать его.

A точку останова можно разместить практически в любом месте вашего кода, щелкнув в крайнем левом углу строки (вроде как на полях текстового редактора Visual Studio). Когда эта строка кода достигнута, отладчик Visual Studio фактически приостановит выполнение вашей программы и вернет вас в редактор, где вы сможете буквально навести курсор на переменную или объект или что-то еще и увидеть все об этом.

Также доступно окно «Локальные», которое даст вам разбивку всех ваших локально ограниченных элементов - это должно появиться по умолчанию в нижней части экрана при отладке.

В режиме отладки вы можете построчно перемещаться по выполнению вашего кода

F10 продолжит со следующей строки кода.

F11 попытается детализировать все функции, которые есть в текущей строке кода

Ctrl-D вызовет окно «Quick Watch», предоставляющее вам всю информацию о текущей выбранной переменной / объекте.

Когда вы находитесь в режиме отладки, вы можете сделать множество вещей - в некоторых случаях вы даже можете редактировать код по ходу работы.

Самый простой способ войти в режим отладки - использовать маленькую кнопку «play» вверху Visual Studio - и когда будет достигнута точка останова, он войдет в режим отладки и выделит текущую строку кода.

Вы также можете нажать F10 из редактора, и ваше приложение будет запущено и приостановлено на самой первой строке кода.

Для сравнения, в PHP вам фактически приходилось писать «отладочный код» в ваше приложение - с помощью Visual Studio вы можете фактически отслеживать выполнение вашего кода, не добавляя ничего в существующий код.

Я надеюсь, что вы начали.

Возможно, вы также захотите немного прочитать о вашей IDE. В Visual Studio есть метрическая масса вещей, которые помогут вам ориентироваться в коде так, как вы никогда не представляли в большинстве редакторов PHP.

0 голосов
/ 07 августа 2009

Если вы уже загрузили Microsoft Visual Studio, вы можете бесплатно воспользоваться библиотекой Visual C # Express, доступной по адресу: http://msdn.com/express/

Он расположен внизу страницы и очень полезен. Он содержит практически все ответы, которые вы, возможно, ищете как новичок в языке C #. ... Добро пожаловать в C #, мой друг: -D

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