Как отладить программу, которая не выдает никакой ошибки - PullRequest
0 голосов
/ 31 марта 2011

У меня проблемы с поиском ошибки в моем приложении.

Проблема случайная и не выдает никакой ошибки.Веб-сайт просто продолжает загружаться и загружаться и в итоге получает тайм-аут.

Является ли веб-приложение, использующее MVC 3 в VS 2010 Pro.

Некоторое время назад, я вижу друга, который что-то пишет вURL-адрес, и получает все следы программы ... К сожалению, я не помню, что это была за команда.

У кого-нибудь есть представление о том, что это за команда?

Любое предложение о том, что это за команда?использовать для отладки?

Спасибо!

Эдгар.

ОБНОВЛЕНИЕ!

Я наконец-то нашел команду ... is trace.axd

Но она ведет себя так же ... иногдазагрузить без проблем и показать мне всю информацию о трассировке ... и иногда .. она продолжает загружаться и загружаться ...

Может быть, что-то связано с IIS?

Ответы [ 4 ]

1 голос
/ 31 марта 2011

Включите перерыв для каждого сгенерированного исключения, запустите ваше приложение в режиме отладки и подождите.Если он выполняется слишком долго, приостановите приложение и проверьте, где вы находитесь, или дождитесь исключения, которое где-то обрабатывается.

1 голос
/ 31 марта 2011

Возможно, ваш друг встроил в свое приложение что-то вроде следующего для динамической настройки трассировки.

Trace.IsEnabled = Request.QueryString["trace"] != null ? true : false;

Это обеспечивает информацию, только если страница полностью загружена. Вероятно, лучше всего использовать отладчик VS для пошагового выполнения кода.

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

0 голосов
/ 31 марта 2011

в MVC ошибки, которые вы не видите, чаще всего (особенно в работе Razor и Ajax) отображают ошибки компиляции. Иногда синтаксические ошибки в представлениях просто не показывают это представление и не перестают работать.

Попробуйте это:

установить точку останова. Если программа останавливается там, это означает, что это представление работает. В противном случае в этом представлении есть синтаксическая ошибка.

Еще один способ увидеть больше информации об ошибках, чем в Visual Studio, - использовать инструменты браузера. Я использую Google Chrome. Просто откройте инструменты разработчика в нем. Открытая сеть. И сделай свой запрос. В нем будут перечислены запросы и ответы. Нажмите на ответ и посмотрите информацию. После стиля (написано Verdana и т. Д.) Прочитайте подробности исключения. Иногда есть больше информации:)

Я использую MVC 3 в Razor с самого начала. Так что это небольшая ошибка в asp.net mvc.

0 голосов
/ 31 марта 2011

Что ж, похоже, у вас где-то есть бесконечный цикл.

Посмотрите на код, который запускается при посещении URL, который доставляет вам проблемы.Посмотрите, есть ли там какие-либо петли (for / while).Если да, посмотрите почему, если они никогда не выйдут.Вы можете сделать это, поместив точку останова в цикл и исследуя ее поведение на протяжении итераций.

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