ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



 

Часть 7

                                      - 68 -
           
           
                                                              
                      7. КОМАНДЫ УПРАВЛЕНИЯ "ТОЧКАМИ ОСТАНОВА"
               
               
               
                                    СОДЕРЖАНИЕ
                                                                   
               
                                                                   Лист
                                                                   
               7.   Команды управления "Точками останова"............ 68
               7.1. Введение......................................... 69
               7.2. Команда "Установить точку останова" (BP)......... 69
               7.3. Команда "Стереть точку останова" (BC)............ 71
               7.4. Команда "Подавить точку останова" (BD)........... 71
               7.5. Команда "Восстановить точку останова" (BE)....... 72
               7.6. Команда "Список точек останова" (BL)..............73
           
           
.
                                      - 69 -
         
         
               7.1. Введение
                
               CodeView   отладчик   позволяет  контролировать  выполнение
         программы <точками  останова>.  <Точки  останова>  --  адреса,  в
         которых  выполнение программы прерывается и управление передается
         CodeView. С их помощью можно "замораживать" выполнение  программы
         для проверки состояния памяти и выражений в этой точке.
               Команды управления точками останова:
                
                Команда                       Действие
                
            Установ точки          Установ точки останова  с  опциями
            останова (BP)          счета  проходов  и списком команд,
                                   выполняющихся по останову.
                                   
            Стирание точки         Стирание  одной   или   нескольких
            останова (BC)          точек останова.
                                   
            Подавление точки       Временная отмена точек останова.
            останова (BD)
                                   
            Восстановление         Восстановление временно отмененных
            точек останова (BE)    точек останова.
                                   
            Список точек           Список всех точек останова.
            останова (BL)

                                   
               
               7.2. Команда "Установить точку останова" (BP)

               Команда  установа  точек  останова создает точку останова в
         специфицированном  адресе.  В  любое  время  при  встрече   точки
         останова выполнение программы прерывается и управление передается
         CodeView отладчику.
               CodeView  поддерживает  до  20  точек  останова (с номерами
         0-19).  Номер  устанавливаемой  точки  останова  --   первый   из
         доступных в момент выполнения команды. Точки останова сохраняются
         в  памяти  до  тех пор, пока они не будут удалены; при выполнении
         команды рестарта они  сохраняются,  что  позволяет  устанавливать
         серии  точек  останова  и выполнять программу по многу раз без их
         переустановки.  При  попытке  создать  точку  останова  в  строке
         программы, не имеющей кода, CodeView выдаст сообщение:
               
               No code at this number
               
               Mouse.
               Для установа точки останова mouse'ом, укажите строку текста
         или  ассемблерную  инструкцию  и нажмите на левую кнопку. Сторока
         будет подсвечиваться до тех пор, пока точка останова не будет от-
         менена.

               Клавиатура.
               Для  установа  в  оконном  режиме  точки  останова ключами,
         установите  курсор  на  интересующей  вас   строке   текста   или

                                      - 70 -
         
         
         ассемблерной инструкции и нажмите функциональный ключ F9. Сторока
         будет  подсвечиваться  до  тех  пор, пока точка останова не будет
         отменена.
               В последовательном режиме ключем F9 можно установить  точку
         останова только в текущей позиции. Для установки точки останова в
         другом месте пользуйтесь диалоговой версией команды.
                
               Диалоговая.
               Для  установа  точки  останова введите диалоговую команду в
         следующем синтаксисе:
               
               BP [<адрес> [<счетчик проходов>] ["<команды>"] ]
               
               Если адрес не указан, точка останова  создается  в  текущей
         позиции. <Адрес> специфицируется в виде <сегмент>:<смещение>, или
         как строка текста .<номер строки>, или как имя функции или метка.
         Если  указано  только <смещение>, то CodeView автоматически берет
         сегмент, указанный регистром DS.
               Диалоговая версия команды намного мощнее  mouse'овской  или
         клавиатурной,  так как позволяет устанавливать <счетчик проходов>
         и строку <команд>. <Счетчик проходов>  позволяет  специфицировать
         номер прохода, на котором сработает эта точка останова. <Команды>
         --  это  диалоговые  команды, заключенные в двойные кавычки (") и
         разделенные точкой с запятой (;). Например, как "? code ; T".
               В  оконном  режиме  точка  останова,  созданная  диалоговой
         командой,  подсвечивается  так же, как  будто  она  была  создана
         mouse'ом или функциональным ключем.
               В  последовательном  режиме  информация  о  точке  останова
         высвечивается  каждый  раз при ее выполнении. Значения регистров,
         текущая  ассемблерная  инструкция  и  строка   исходного   текста
         высвечиваются  в  зависимости  от режима CodeView. В ассемблерном
         режиме  номер  точки  останова  вывечивается  как  коментарий   к
         инструкции.
      
               Примечание:
               После  рестарта  значение  <счетчика  проходов>  всех точек
         останова равно 1.
      
               Предупреждение:
               Не пытайтесь вводить точки останова по адресу, находящемуся
         в середине ассемблерной команды. Результат этого не предсказуем.
      
                Примеры:
           
           >BP .19
           >
           
           >BP display 10 "?++counter;C"
           >
           
           >S-
           >BP 0x205
           >C
           AX=011D BX=0183 CX=0000 DX=0000 SP=12FE BP=1306 SI=04BA DI=1344
           DS=5E61 ES=5E61 SS=5E61 CS=569D IP=0205 NV UP EI PL NZ NA PO NC

                                      - 71 -
         
         
           596D:0205 E97800     JMP     _countwords+9a (0280)      ;BR1
           >
           
              
               7.3. Команда "Стереть точку останова" (BC)
                                         
               Команда стирания точек останова предназначена для  стирания
         одной или нескольких точек останова.
                
               Mouse.
               Для стирания одной точки останова mouse'ом, укажите  строку
         текста  или  ассемблерную  инструкцию,  содержащую точку останова
         (она подсвечена более ярко), и нажмите на левую кнопку. Точка ос-
         танова сотрется и сторока текста будет высвечиваться в нормальной
         яркости.
               Для стирания всех точек останова выполните Clear Breakpoint
         команду из Run меню.
           
               Клавиатура.
               Для  стирания  одной точки останова спецключами, установите
         курсор на строку текста или ассемблерную  инструкцию,  содержащую
         точку   останова   (она   подсвечена   более   ярко),  и  нажмите
         функциональный ключ F9. Точка останова сотрется и сторока  текста
         будет высвечиваться в нормальной яркости.
               Для стирания всех точек останова выполните Clear Breakpoint
         команду из Run меню, последовательно нажав ALT+R и ALT+B ключи.
               
               Диалоговая.
               Для  стирания  одной  или нескольких точек останова введите
         диалоговую команду в следующем синтаксисе:
               
                BC <список>
                BC *
                
               Если <список> специфицирован, команда стирает точки остано-
         ва, указанные в <списке>. <Список> должен быть любой  комбинацией
         номеров  точек останова (от 0 до 19). Пользуйтесь командой список
         точек останова (BL) для того, чтобы  узнать  номера  интересующих
         вас  точек  останова.  Если аргумент команды -- звездочка (*), то
         будут стерты все точки останова.
               
               Примеры:
           
           >BC  0  4  8
           >
           
           >BC  *
           >
           
                
               7.4. Команда "Подавить точку останова (BD)
                
               Команда   временного  подавления  точек  останова  временно
         отменяет одну или несколько точек  останова.  Точки  останова  не
         удаляются,  они  могут быть восстановлены командой восстановления

                                      - 72 -
         
         
         точек останова (BE).
               Строки, содержащие  временно  подавленные  точки  останова,
         высвечиваются в оконном режиме как строки обычной яркости.
      
               Примечание:
               Все   временно  подавленные  точки  останова  автоматически
         восстанавливаются  при  рестарте.  Более   подробно   см.   главу
         11"Команды системного контроля".
      
                
               Mouse.
               Эту команду нельзя ввести mouse'ом.
           
               Клавиатура.
               Эту команду нельзя ввести спецключами.
                
               Диалоговая
               Для  подавления одной или нескольких точек останова введите
         диалоговую команду в следующем синтаксисе:
               
                BD <список>
                BD *
               
               Если  <список>  специфицирован,  команда   подавяет   точки
         останова,  указанные  в  <списке>.  <Список>  должен  быть  любой
         комбинацией номеров точек останова  (от  0  до  19).  Пользуйтесь
         командой  список точек останова (BL) для того чтобы узнать номера
         интересующих  вас  точек  останова.  Если  аргумент  команды   --
         звездочка (*), то будут подавлены все точки останова.
               
               Примеры:
               
           >BD  0  4  8
           >
           
           >BD  *
           >
           
                
               7.5. Команда "Восстановить точку останова" (BE)
                
               Команда  восстановления  точек  останова предназначенна для
         восстановления одной или нескольких временно отмененных  командой
         BD (см. раздел 7.2) точек останова.
           
               Mouse.
               Для  восстановления точки останова mouse'ом, укажите строку
         текста  или  ассемблерную  инструкцию,   в   которой   содержится
         подавленная точка останова, и щелкните левой кнопкой. Точка оста-
         нова  восстановится  и  строка  будет  высвечиваться  как  строка
         повышенной яркости.
           
               Клавиатура.
               Для  восстановления  точки останова спецключами, установите
         курсор  на  строку  текста   строку   текста   или   ассемблерную

                                      - 73 -
         
         
         инструкцию,  в  которой  содержится подавленная точка останова, и
         нажмите функциональный ключ F9. Точка  останова  восстановится  и
         строка будет высвечиваться как строка повысшенной яркости.
                
               Диалоговая.
               Для  восстановления  одной  или  нескольких  точек останова
         введите диалоговую команду в следующем синтаксисе:
               
                BE <список>
                BE *
               
               Если <список> специфицирован, команда восстанавливает точки
         останова,  указанные  в  <списке>.  <Список>  должен  быть  любой
         комбинацией  номеров  точек  останова  (от  0 до 19). Пользуйтесь
         командой список точек останова (BL) для того чтобы узнать  номера
         интересующих   вас  точек  останова.  Если  аргумент  команды  --
         звездочка (*), то  будут  восстановленны  все  подавленные  точки
         останова.
               
                Примеры:
           
           >BE  0  4  8
           >
           
           >BE  *
           >
                
                                     
               7.6. Команда "Список точек останова" (BL)
                
               Команда  список точек останова выводит информацию о текущих
         точках останова.

               Mouse.
               Эту команду нельзя ввести mouse'ом.
           
               Клавиатура.
               Эту команду нельзя ввести спецключами.
                
               Диалоговая.
               Для вывода списка точек останова введите диалоговую команду
         в следующем синтаксисе:
               
               BL
               
               Команда  высвечивает  номер  точки  останова,   ее   статус
         подавленности,  адрес, функцию, номер строки. Если точка останова
         не совпадает с строкой текста, указывается смещение в  байтах  от
         предыдущей  строки.  Если  были установлены  <счетчик проходов> и
         <команды>, то их значения высветятся также.
                Примеры:
               
           >BL
           0   e   56C4:0105     _arctan  :  10
           1   d   56C4:011E     _arctan  :  19     (pass=10)   "T;T"

                                      - 74 -
         
         
           2   e   56C4:00FD     _arctan  :   9+6
               
                В примере:
                точка останова 0, расположенная по адресу 56C4:0105 в
           строке 10 функции _arctan,  со статусом   разрешена  (e);
                точка останова 1, расположенная по адресу 56C4:011E в
           строке 19 функции _arctan,  со статусом   запрещена  (d);
                точка останова 2, расположенная по адресу 56C4:00FD в
           6  байтах  от  строки  9  функции  _arctan,  со   статусом
           разрешена (e).
.


Яндекс цитирования