Читаем Создание игр для мобильных телефонов полностью

Совет Разработчику

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

Отслеживание стека вызовов

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

Чтобы просмотреть стек вызовов, необходимо применить метод printStackTrace() класса Throwable. Поскольку метод printStackTrace() принадлежит классу Throwable, то для просмотра стека вызовов необходимо создать соответствующий объект. Все исключения являются производными от класса Throwable, поэтому каждый раз, когда в программе возникает исключение, вы можете просмотреть стек вызовов. Посмотрите на фрагмент кода:

try {

int nums[] = new int[5];

for(int i = 0; i < 10; i++)

nums[i] = 6670;

}

catch (ArrayIndexOutOfBoundsException e) {

System.out.println("**Exception** : " + e.getMessage());

e.printStackTrace(); //Вывести стек вызовов

}

В этом коде индекс массива nums выходит за пределы внутри цикла for, в результате возникает исключение ArraylndexOutOfBoundsException. Это исключение выводится на стандартное устройство вывода в конструкции catch, здесь же вызывается метод printStackTrace().

Выбор отладчика

Когда вы решили приступить к отладке кода, важно выбрать отладчик. Отладчик – это бесценное средство для поиска и устранения ошибок в программе, он напрямую определяет, сколько времени вы потратите на поиск и устранение ошибок. Следовательно, вы должны мудро распределить ресурсы и выбрать отладчик, который в наибольшей степени подходит к вашему стилю отладки.

Существует ряд интегрированных сред разработки, в состав которых входят визуальные отладчики Java. Такие отладчики хороши и обычно содержат массу дополнительных возможностей. По возможности приобретите один из таких отладчиков.

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

...

В копилку Игрока

Для справки, я упрямый и принадлежу к старой школе, что сочетается не очень хорошо. Я говорю вам это потому, что я разработал код примеров, приводимых в книге, используя для отладки только метод System.out.println(). Если вы найдете ошибки в моем коде, то, по крайней мере, у меня есть оправдание! А если серьезно, то нет необходимости использовать сложные инструменты, пока вы пишете надежный код и выполняете тестирование.

Java 2 SDK поставляется со стандартным отладчиком (jab), который реализует множество функций отладки, которые я упоминал ранее. Этот отладчик работает с командной строкой, в нем нет графики и функций «покажи и щелкни». Если вы не готовы использовать отладчики сторонних производителей, то попробуйте применить jab. Поработав с этим отладчиком, вы поймете, что он хорошо подходит для задач отладки.

Перед тем как начать использовать jab, необходимо откомпилировать код таким образом, чтобы он содержал отладочную информацию. Компилятор Java делает это, если использовать ключ – g. В результате компилятор сформирует отладочные таблицы, содержащие информацию о номерах строк и переменных.

...

Перейти на страницу:

Похожие книги

1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных
Язык программирования C++. Пятое издание
Язык программирования C++. Пятое издание

Лучшее руководство по программированию и справочник по языку, полностью пересмотренное и обновленное под стандарт С++11!Р'С‹ держите в руках новое издание популярного и исчерпывающего бестселлера по языку программирования С++, которое было полностью пересмотрено и обновлено под стандарт С++11. Оно поможет вам быстро изучить язык и использовать его весьма эффективными и передовыми способами. Р' соответствии с самыми передовыми и современными методиками изложения материала авторы демонстрируют использование базового языка и его стандартной библиотеки для разработки эффективного, читабельного и мощного кода.С самого начала этой книги читатель знакомится со стандартной библиотекой С++, ее самыми популярными функциями и средствами, что позволяет сразу же приступить к написанию полезных программ, еще не овладев всеми нюансами языка. Большинство примеров из книги было пересмотрено так, чтобы использовать новые средства языка и продемонстрировать РёС… наилучшие СЃРїРѕСЃРѕР±С‹ применения. Эта книга — не только проверенное руководство для новичков в С++, она содержит также авторитетное обсуждение базовых концепций и методик языка С++ и является ценным ресурсом для опытных программистов, особенно желающих побыстрей узнать об усовершенствованиях С++11.Стенли Р'. Липпман работал старшим консультантом в Jet Propulsion Laboratory, архитектором РіСЂСѓРїРїС‹ Visual С++ корпорации Microsoft, техническим сотрудником Bell Laboratories и главным инженером- программистом по анимации в кинокомпаниях Disney, DreamWorks, Pixar и PDI.Р–РѕР·и Лажойе, работающий ныне в кинокомпании Pixar, был членом канадской РіСЂСѓРїРїС‹ разработчиков компилятора C/C++ корпорации IBM, а также возглавлял рабочую группу базового языка С++ в составе международной организации по стандартизации ANSI/ISO.Барбара Э. Му имеет почти тридцатилетний опыт программирования. На протяжении пятнадцати лет она работала в компании AT&T, сотрудничая с Бьярне Страуструпом, автором языка С++, и несколько лет руководила РіСЂСѓРїРїРѕР№ разработчиков С++.• Узнайте, как использовать новые средства языка С++11 и стандартной библиотеки для быстрого создания надежных программ, а также ознакомьтесь с высокоуровневым программированием• Учитесь на примерах, в которых показаны передовые стили программирования и методики проектирования• Р

Барбара Э. Му , Жози Лажойе , Стенли Б. Липпман

Программирование, программы, базы данных