Навигация
· XNA FAQ
· С чего начать
· Конкурсы
· Обратная связь
· XNA Блоги
Сейчас на сайте
· Гостей: 1

· Пользователей: 0

· Всего пользователей: 3,684
· Новый пользователь: headron
Последние фото
Эх, чуть не проспал закрытие.
Эх, чуть не проспал ...
Альбом: XNA Engine

GB
GB
Альбом: XNA Engine

South Park Coon & Friends
South Park Coon & Fr...
Альбом: XNA Games

Блоги
yavshoke
» XboxOne - интерес...
dampirik
» Push уведомления ...
dampirik
» Реклама,статистик...
Chort
» XNA и StartCoroutine
Chort
» Curve Class
dampirik
» Реклама, статисти...
dampirik
» Увеличение скорос...
dampirik
» Реклама, статисти...
general
» Распаковка DxtCom...
general
» Как работать с XN...
Поддержка
microsoft.com
1gb.ru - Дом для вашего сайта
Статистика посещений:

Отлов ошибки для...
Просмотров: 2072 - Заполнять: Chort - 13.09.2011 15:35:39
 
Краткий обзор того как надо искать "ошибки" в коде.

Разделим понятия того что имеют под словом "ошибка" когда постят на форум!
1) "Ошибка компилятора" - ваша программа не запустилась и даже не собралась
2) "Ошибка исполнения" - ваша программа "упала" время работы или работает неправильно

ВАЖНО!!! : ошибка стандартно визуализируется сообщением - это сообщение, блин, не просто так и часто конкретно и прямо пишет в чем дело. Как минимум скопировав его можно попробовать перевести или найти решение в интернете.

Для VisualStudio
"Ошибка компилятора" - внизу закладка "Error List" (hotkey - Crtl+\,E)
"Ошибка исполнения" - попап-окошко з подсветкой строки на которой программа "упала" (Особое внимание на ссылку внизу "View Detail..." )

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

"Ошибок исполнения" намного интересней но для их отлова надо хорошо ПОНИМАТЬ то что вы пишете, как минимум уметь читать код.
Для "Ошибок исполнения" в VisualStudio есть очень хороший дебагер. Он позволяет пошагово исполнять код, "строку за строкой".

Итак, допустим у вас программа упала. Первое - читаем сообщение. Если пишет тривиальные вещи, как например NullPointerException - смотрим все ли значения в строке такие как должны быть. Для этого можно навести на переменную, сделать QuickWatch (Shift-F9) или добавить в список (Add Watch). Для локальных переменных есть отдельная вкладка - Locals и т.п.

Падение программы сопровождается созданием Exception'а, в котором содержится информация о причине падения. Хочу привлечь внимание что причиной Exception может другой Exception (значение InnerException) который был "кинут" с другого места (значение StackTrace содержит список внутренних вызовов методов).

Помните ошибка не обязательно в той строчке где программа упала. Если вы не нашли явных причин, попробуйте исполнить свой код шаг-за-шагом. Для этого найдите строчку с которой например вы не уверены что ваша программа работает, и поставьте брейк-поинт (кликните на серей полосе слева от строчки, и она подсветится темно-красным). Дальше шаг-за-шагом (F10 или F11) проходите каждую строчку попутно проверяя значение переменных и сравнивая с тем что должно получится. Также можно посмотреть из какого места ваш код был вызван - закладка внизу Call Stack (Crtl-Alt-C)

P.S. где-то так...
Комментарии
#1 | wlastas 15.05.2012 11:59:26
1) "ОшЫЫЫЫЫбка компилятора
Жи ши пиши через и - это вроде в 1 классе учат)
Ниже по тесту вроде исправлено а в начале нет)
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.

© 2007 - 2008 by Elactos
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Мини-чат
Вы должны авторизироваться, чтобы добавить сообщение.

27.08.2014
Я умею немного на asp.net + html и css

22.08.2014
на ASP mvc 3 есть пару проектов. Могу помочь, если нужно. Обидно, если закроется Frown

21.08.2014
я тоже ноль

21.08.2014
Я в вебе только с php занимался да и то на уровне чтоб работало.

21.08.2014
Я в вебе полный ноль…

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

21.08.2014
не знаю всех нюансов по оплате и все хорошее когда нибудь заканчивается

21.08.2014
А что случилось?

21.08.2014
похоже сайт будет работать до 28го числа

09.08.2014
Апи пока не видел. Но есть приложение в магазине Live Lock Screen BETA, так что думаю скоро будет

08.08.2014
Я про API для Update1. На нем работает это

08.08.2014
А что именно нужно? Чтото и сейчас открыто http://msdn.micro.
...105).aspx

06.08.2014
Кто-нибудь слышал об открытии доступа к Lock Screen Api?

31.07.2014
VPDExpress на базе MVS 2012, ни в какую не ловит исключения. Даже если их сам создаешь. И всех так?

25.07.2014
С днем системного администратора причастных к этой профессии! По случаю - тортик от жены

RSS каналы сайта
XNA - Новости
XNA - Статьи
XNA - Форум
XNA - Галерея
XNA - Файлы
Время загрузки: 0,07 секунд 8,709,884 уникальных посетителей