Турбо С: руководство пользователя. Часть 1

Турбо С: руководство пользователя. Часть 1 - Стр. 20

Печать PDF
Индекс материала
Турбо С: руководство пользователя. Часть 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
Стр. 41
Стр. 42
Стр. 43
Стр. 44
Стр. 45
Стр. 46
Стр. 47
Стр. 48
Стр. 49
Стр. 50
Стр. 51
Стр. 52
Стр. 53
Стр. 54
Стр. 55
Стр. 56
Стр. 57
Стр. 58
Стр. 59
Стр. 60
Стр. 61
Стр. 62
Стр. 63
Стр. 64
Стр. 65
Стр. 66
Стр. 67
Стр. 68
Стр. 69
Все страницы
     позволяет исследовать поведение отдельных частей программы. В ка-          
     честве примера предположим, что вы хотите проверить поведение от-          
     дельных частей программы.  Например,  предположим,  что вы хотите          
     проверить поведение  какой-либо  функции,  при передаче ей некор-          
     ректных параметров.  Вполне возможно, что сделать так, чтобы ваша          
     программа передала  в  функцию требуемое для этого значение,  вам          
     сложно, однако вы можете получить нужный результат,  изменив зна-          
     чение какой-либо переменной непосредственно перед тем,  как прог-          
     рамма обратится к проверяемой функции.                                     
                                                                                
          Если для выхода из поля нового  значения  вы  воспользуетесь          
     клавишей Esc  (а  не Ввод),  то отладчик не будет менять значение          
     выражения. Мы советуем вам пользоваться этой клавишей  в  случае,          
     если вы по какой-либо причине изменили свои намерения и решили не          
                                                                                
                                                                                
     вводить нового значения.                                                   
                                                                                
          Вы  можете  вычислить  значение  любого  допустимого   в  Си          
     выражения, при условии, что оно не содержит:                               
                                                                                
          # вызовы функции;                                                     
                                                                                
          # описанные  символы  (с помощью define) или типы (с помощью          
     typedef). Например: *wordptr == 0x20 верно, тогда как *wordptr ==          
     SPACE - не допускается, так как SPACE является описанием);                 
                                                                                
          #  локальные  или  статические  переменные,  находящиеся вне          
     области действия выполняемой функции (за исключением случая, ког-          
     да они полностью специфицированы).                                         
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

                         - 161,162 -
                                                                                
               Спецификация имен переменных                                     
     -----------------------------------------------------------------          
                                                                                
          Существует две типичные ситуации,  в которых возникает необ-          
     ходимость подробной спецификации имен переменных, использзуемых в          
     выражении:                                                                 
                                                                                
          # когда вы хотите проконтролировать значения переменных типа          
            static, находящихся в различных модулях;                            
                                                                                
          # или, когда вы хотите просмотреть переменные типа auto (ло-          
            кальные) или типа static, находящиеся в другой функции.             
                                                                                
          Для  полного   описания   имени   переменной  воспользуйтесь          
     следующим синтаксисом:                                                     
                                                                                
          .         С  плавающей  точкой.  n  -  целое  от  2  до  18,          
                    обозначает     количество      значащих      цифр,          
                    предназначенных для вывода. Применяется только для          
                    величин с плавающей точкой.                                 
                                                                                
       M            Дамп  памяти.  Выводит  дамп  памяти,  начиная   с          
                    адреса, указанного  в  выражении.  Выражение может          
                    быть конструкцией, допустимой в левой части опера-          
                    тора присваивания, т.е. конструкцией, обозначающей          
                    адрес памяти;  в остальных случаях спецификатор  M          
                    игнорируется. По умолчанию, каждый байт переменной          
                    представляется двумя  шестнадцатиричными  цифрами.          
                    Если  спецификатор M дополнен спецификатором D, то          
                    байт представляется в виде десятичных  цифр,  если          
                    же X или H,  то в виде шестнадцатиричных. В случае          
                    спецификаторов C или S  переменные  выводятся  как          
                    строки ( с или без специальных символов). По умол-          
                    чанию, количество байт соответствует размеру пере-          

                         - 167,168 -
                                                                                
                                                                                
                    менной,  но может быть использован повторитель для          
                    точного указания количества байт.                           
                                                                                
       P            Указатель.  Выводит указатели  в  виде  seg:ofs  с          
                    дополнительной    информацией   об   адресе,   это          
                    предпочтительнее чем принятый по умолчанию машинно          
                    -зависимый seg:ofs формат.  Формат seg:ofs говорит          
                    вам об области памяти,  в которой размещен сегмент          
                    и   имени  переменной  по  адресной  ссылке.  Ниже          
                    приведены области памяти: