Page 24 - 4989
P. 24
2.3.5 Засоби низькорівневої відладки середовища
Microsoft Visual Studio
У середовищі Microsoft Visual Studio є можливість дослідити
асемблерний код, згенерований компілятором для програми
мовою С++, зокрема покроково виконувати цей код,
спостерігаючи за вмістом регістрів процесора та комірок пам’яті.
Доступ до цих інструментів можливий у режимі відладки.
Щоб зайти в режим відладки, слід натиснути F10 або поставити
точку переривання на першій команді програми та запустити її на
виконання (F5). У меню DEBUG/Windows можна вибрати такі
додаткові вікна для відображення:
- Disassembly – вікно дизасемблера. Дизасемблер – це
програма, яка дозволяє продивитись мнемоніки машинних
команд. У вікні дизасемблера по замовчуванню
відображаються також ті рядки коду на С++, яким
відповідають ці машинні команди. У контекстному меню
(права кнопка миші) цього вікна можна вибрати також
відображення кодів команд (Show code bytes). Щоб
виконувати програму по одній машинній команді, слід
виконувати покрокову відладку, залишаючись у цьому
вікні.
- Registers – вікно регістрів. Відображається той набір
регістрів, що відповідає архітектурі, під яку компілюється
програма (для Win32 будуть відображатить 32-розрядні
регістри, для х64 – 64-розрядні). Вміст регістрів
відображається у шістнадцятковій системі числення. За
допомогою контекстного меню можна додатково вивести
регістри співпроцесора та SSE-розширень.
- Memory – комірки пам’яті починаючи із заданої адреси. У
полі Address необхідно навести адресу, за якою міститься
змінна чи масив, які слід переглянути. При цьому можна
використовувати синтаксис С++, тобто, наприклад, якщо у
програмі оголошена змінна Х, треба застосувати &X, а для
масиву слід вказати його назву (оскільки назва масиву є
покажчиком на його перший елемент). По замовчуванню
пам’ять відображається як послідовність байт у
шістнадцятковому представленні. Спосіб представлення
24