BIGLIB
  большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно
 
АСТРОЛОГИЯ
  книги по астрологии
 
КРИМИНАЛ
  книги про криминал
 
ДЕТЕКТИВЫ
  детективы известных
   писателей
 
ФАНТАСТИКА
  фентези, фантастика,   фантастические повести
 
ПРИКЛЮЧЕНИЯ
  книги про приключения,   путешествия
 
ПОЛИТИКА
  книги про политиков,   репрессии
 
ПСИХОЛОГИЯ
  разнообразная литература   по психологии
 
КЛАССИКА
  классическая литература
 
КОМПЬЮТЕРНАЯ
  ЛИТЕРАТУРА
  про компютерное железо,   документация, языки   программирования
 
РЕЛИГИЯ, АТЕИЗМ
  книги про религию
 
ФИЛОСОФИЯ
  книги, которые заставляют   задуматься над   окружающим тебя миром.
 
ЭНЦИКЛОПЕДИИ
  самые интересные   энциклопедии на
   разные темы
 
МЕДИЦИНА
  медицинские книги,   методички,
   народные лечебники
 
КУЛИНАРИЯ
  рецепты тортов,   консервирование,
  все о спиртных
  напитках.
 
СТИХИ
  стихи популярных и не   очень авторов
 
ТВОРЧЕСТВО
  народное творчество,   стихи, песни и т.д.
 
ЮМОР
  анекдоты, приколы,   смешные истории
 
ЛЮБОВНЫЙ РОМАН
  мир высоких чувств и   любовных грез
 
ЭРОТИКА
  эротические рассказы,   книги о технике секса,   кама-сутра и др.




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Turbo Debugger 3.0 #2-3
Автор ""
Размер 408406 Байт
Страница 2 из 40
СКАЧАТЬ КНИГУ ЦЕЛИКОМ

       Неправильный порядок операндов................................139
       Программист забывает о стеке или резервирует маленький стек...139
       Вызов подпрограммы, которая портит содержимое нужных
        регистров....................................................140
       Ошибки при использовании условных переходов...................140
       Неверное понимание работы префикса REP........................140
       Нулевое содержимое CX и работа с целым сегментом..............140
       Неправильная установка флага направления......................141
       Ошибки при повторении команд сравнения строк..................141
       Ошибки при назначении сегмента строк..........................141
       Неправильное преобразование из байта в слово..................141
       Использование нескольких префиксов............................142
       Необязательные операнды в командах обработки строк............142
       Уничтожение содержимого регистра при умножении................142
       Ошибки, связанные с изменением содержимого регистров..........143
       Изменение состояния флага переноса............................143
       Программист долго не использует флаги.........................143
       Смешение операндов в памяти и непосредственных операндов......143
       Ошибки, связанные с возвратом в начало сегмента...............143
       Сохранение содержимого регистров при обработке прерываний.....144
       Игнорирование групп в таблицах операндов и данных.............144
       Проверка......................................................145
       Проверка граничных условий и случаи ограничения...............145

       TDeb 3.0 #2-3                 = 5 =

       Ввод ошибочных данных.........................................145
       Отсутствие входных данных.....................................145
       Отладка, как часть процесса создание программы................145
       Пример сеанса отладки.........................................147
       Сеанс отладки программы на языке Си...........................147
       Поиск ошибок..................................................147
       Разработка плана действий.....................................148
       Запуск Турбо отладчика........................................148
       Проверка......................................................149
       Окно Watch....................................................151
       Диалоговое окно Evaluate/Modify...............................151
       Эврика!.......................................................151
       Сеанс отладки с использованием программы на Паскале...........153
       Поиск ошибок..................................................154
       Выбор стратегии поиска ошибок.................................155
       Запуск Турбо отладчика........................................155
       Перемещение по программе......................................157
       Диалоговое окно Evaluate/Modify...............................158
       Проверка......................................................158
       Выражения просмотра...........................................159
       Следующая ошибка..............................................160
     Глава 15. Виртуальная отладка с использованием процессора
        80386........................................................162
       Аппаратные средства, необходимые для виртуальной отладки......162
       Установка драйвера устройства для виртуального отладчика......162
       Запуск виртуального отладчика.................................163
       Отличия обычной и виртуальной отладки.........................166
       Замечания относительно возможных проблем......................166
       Сообщения об ошибках TD386....................................167
       Сообщения об ошибках TDH386.SYS...............................169
     Глава 16. Отладка в защищенном режиме с использованием
        TD386........................................................170
       Аппаратура, необходимая для использования отладчика TD286.....170
       Установка отладчика для защищенного режима....................170
       Запуск отладчика для защищенного режима.......................171
       Отличия Турбо отладчика и отладчика для защищенного режима....171
       Отладка программ, использующих дополнительную память..........171
       Выполнение TD286 на разных машинах............................171

       TDeb 3.0 #2-3                 = 6 =

                             Глава 9. Выражения
       ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

            Турбо отладчик может вычислять выражения и сообщать вам зна-
       чение  результата.  Выражения можно также использовать для ссылки
       на элементы данных в памяти,  значение которых вы хотите  узнать.
       Выражение  можно  вводить  в ответ на любую подсказку,  в которой
       запрашивается значение адреса памяти.  (Заметим,  что в различных
       языках выражения вычисляются по-разному.)

            Для вычисления значения введенного выражения можно использо-
       вать команду основного меню DataіEvaluate/Modify (ДанныеіВычисле-
       ние/Модификация). Эту команду можно также использовать, как прос-
       тейший калькулятор, а также для проверки значений объектов данных
       в программе.

            В данной  главе мы расскажем вам о том,  каким образом Турбо
       отладчик определяет, какой язык нужно использовать для вычисления
       выражения,  и как задать использование конкретного языка. Мы опи-
       шем элементы выражений,  которые являются общими для всех языков,
       такие, как номера исходных строк и доступ к регистрам процессора.
       Затем мы опишем компоненты,  которые входят в выражение на  любом
       языке,  включая константы,  переменные программы, строки и опера-
       ции.  Для каждого языка мы перечислим также поддерживаемые  Турбо
       отладчиком операции и опишем синтаксис выражений.





Полное описание выражений Си, Паскаля или Ассемблера содер- жится в руководствах пользователя и справочных руководствах по соответствующим языкам. (см. Borland C++ Getting started, Borland C++ Programmers Guide, Turbo Pascal Users Guide, Turbo Pascal Reference Guide, Turbo Assembler Reference Guide). Выбор языка для вычисления выражения ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Турбо отладчик обычно определяет, какой язык нужно использо- вать для вычисления выражения, на основе расширения имени исход- ного файла в текущем модуле. Это тот модуль, в котором останови- лась ваша программа. Этот выбор можно отменить с помощью команды OptionsіLanguage (ПараметрыіЯзык) и открытия диалогового окна Expression Language (Язык для выражений), в котором вы можете с помощью многопозиционного переключателя выбрать один из поддержи- ваемых языков (Паскаль, Си или Ассемблер). Если вы выберете зна- чение Source (Исходный), то выражения вычисляются в соответствии с языком исходного файла (если Турбо отладчик не может определить этот язык, он использует правила языка Ассемблера). Обычно Турбо отладчик сам определяет используемый язык. Од- TDeb 3.0 #2-3 = 7 = нако, иногда полезно задать язык явным образом, например, если вы отлаживаете вызываемый из других языков модуль Ассемблера. Явно задав использование для вычисления выражений конкретного языка, вы можете обращаться к данным так, как это делается в соответс- твующем языке, даже если в текущем модуле используется другой язык. Иногда удобно интерпретировать выражение или переменную та- ким образом, как если бы оно было написано на другом языке. Нап- ример, при отладке программы Паскаля для изменения значения байта в строке удобнее использовать соглашения Си или Ассемблера. Если при запуске Турбо отладчика начальный выбор языка кор- ректен, то при использовании соглашений других языков трудностей не будет. Турбо отладчик сохраняет информацию о исходном языке и выполняет соответствующее преобразование и запись данных. Если язык не определен однозначно, Турбо отладчик использует Ассемб- лер. Даже если вы ошибочно зададите при входе в Турбо отладчик неверный язык, он все равно сможет получить некоторую информацию о языке на основе таблицы идентификаторов и исходного модуля. Од- нако при некоторых обстоятельствах это может привести к тому, что Турбо отладчик будет записывать данные некорректно. Адреса кода, адреса данных и номера строк ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Обычно, когда нужно получить доступ к переменной или имени подпрограммы в вашей программе, вы просто вводите ее имя. Однако можно также вводить указатель, при вычислении которого получается указатель на память, или задавать адреса кода в виде номеров ис- ходных строк, указывая перед номером строки символ #, например, #123 (только для Си и C++). В следующем разделе рассказывается, как можно обращаться к идентификаторам, находящимся вне текущей области действия. Конечно, с помощью обычного синтаксиса вида "сегмент:смеще- ние" вы можете задать шестнадцатиричный адрес: ЪДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДї і Язык і Формат і Пример і ГДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДґ і Си і Oxnnnn і Ox1234:Ox0010 і і Паскаль і $nnnn і $1234:0010 і і Ассемблер і nnnnh і 1234h:0B234h і АДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДЩ Доступ к идентификаторам вне текущей области действия ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Область, в которой Турбо отладчик ищет идентификатор, назы- вается областью действия этого идентификатора. Доступ к идентифи- TDeb 3.0 #2-3 = 8 = каторам, лежащим за пределами текущей области действия, представ- ляет собой сложное понятие, глубоко разбираться в котором в боль- шинстве случаев использования отладчика нет необходимости. Обычно Турбо отладчик ищет входящий в выражение идентифика- тор точно так же, как это делает соответствующий компилятор. Нап- ример, компилятор языка Си ищет его сначала в текущей функции, затем в текущем модуле (статический идентификатор), а затем ищет глобальный идентификатор. Компилятор Турбо Паскаля ищет идентифи- катор сначала в текущей процедуре или функции, затем во "внеш- ней" подпрограмме (если данная (активная) область действия вложе- на в другую), затем в разделе реализации (inplementation) текущего модуля, и, наконец, выполняет поиск глобального иденти- фикатора. Если Турбо отладчик не может найти идентификатор, используя данные методы, то он ищет его во всех других модулях, пытаясь найти соответствие среди статических идентификаторов. Это позво- ляет вам ссылаться на идентификаторы в других модулях, не указы- вая явно имени модуля.


Страницы : 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40


adfun.ru









Форум раскрутка сайта и интернет-реклама
реклама - рекламное агентство -
Интернет PR агентство чат и форум
волчат знакомства - сайт знакомств
бесплатные компьютерные игры
фото знакомства
новые стеклопакеты -
качественное остекление балконов
портал - пластиковые окна -
закажите окна пвх в Москве

частная стоматология в Москве:
надежная стоматологическая клиника
протезирование зубов и
отбеливание зубов в стоматологии
Музыка - скачать mp3 музыка
каталог партнерские программы
ручной бесплатный обмен ссылками цифровые камеры цифровые фотоаппараты -
цифровые видеокамеры

театры - заказ билетов в театр -
магазин - продажа компьютеров
в Москве форум Испания - жилье -
недвижимость в испании

турфирма - испания туры
Переводы - бюро переводов
Законы - закон о товарных знаках,
Грузовые перевозки. АсМАП. Дальнобой закон о рекламе
Интернет казино
реклама на форуме и контекстная реклама
на Яндексе Баннерная сеть и
интернет каталог сайтов Holiday.Ru
Форумы политика, лучшие анекдоты
знакомства.