покрокове керівництво

Щоб почати роботу з даними покроковим керівництвом, необхідний проект многопоточного додатки. Виконайте наступні дії для створення цього проекту.

Щоб створити проект для покрокового керівництва

У меню Файл виберіть команду Створити і натисніть кнопку Проект.

Відкриється діалогове вікно Створення проекту.

У діалоговому вікні Типи проекту виберіть потрібну мову: Visual Basic. Visual C # або Visual C ++.

У вікні Шаблони виберіть пункт Консольне додаток або Консольне додаток CLR.

У полі Ім'я введіть "MyThreadWalkthroughApp".

З'явиться новий проект консольного застосування. Коли проект буде створений, відкриється файл вихідного коду. Залежно від вибраної мови файл вихідного коду може називатися Module1.vb, Program.cs або MyThreadWalkthroughApp.cpp

Видаліть код, який існує в файлі вихідного коду, і замініть його кодом прикладу, який розглядається в підрозділі "Створення потоку" розділу Creating Threads and Passing Data at Start Time.

У меню Файл виберіть команду Зберегти все.

Щоб почати роботу над покроковим керівництвом

У вікні вихідного коду знайдіть наступний код:

початок налагодження

Клацніть правою кнопкою миші інструкцію Console.WriteLine. виберіть пункт точка зупинки а потім команду Вставити точка зупинки.

У лівому палітурці вікна вихідного коду з'явиться червону кулю. Це означає, що точка зупинки встановлено в цьому місці.

В меню Налагодження клацніть Почати налагодження.

Розпочнеться налагодження, консольний додаток запуститься і перерветься на точці зупинки.

Якщо в цей момент фокус знаходиться на вікні консольного застосування, клацніть вікно Visual Studio для повернення фокусу в Visual Studio.

У вікні вихідного коду знайдіть рядок, що містить наступний код:

Щоб виявити маркер потоку

Клацніть правою кнопкою миші у вікні Потоки і виберіть команду Показати потоки в вихідному коді.

Подивіться на палітурка в лівій частині вікна. На цьому рядку з'явиться значок, схожий на 2 тропічних нитки. Одна нитка червоного кольору, інша - синього. маркер потоку вказує, що якийсь потік зупинений в цьому місці. Можливо, в даному місці зупинений наш потік.

Наведіть покажчик миші на маркер потоку. З'явиться підказка. Підказка повідомляє ім'я і ідентифікаційний номер кожного зупинився тут потоку. У нашому випадку існує тільки один потік, ім'я якого, ймовірно, .

Клацніть правою кнопкою миші маркер потоку. Зверніть увагу на варіанти вибору в контекстному меню.

Цей значок - маркер потоку:

Щоб позначити потоки

В меню Вид виберіть Панелі інструментів.

Переконайтеся, що панель інструментів Місце налагодження обрана.

Перейдіть до панелі інструментів Місце налагодження і клацніть список Потік.

Цю панель інструментів можна дізнатися за трьома помітним списками: Процес. Потік і Стек виклику.

Зверніть увагу, скільки потоків відображається в списку.

Поверніться у вікно вихідного коду і знову клацніть правою кнопкою миші маркер Потік.

У контекстному меню виберіть Прапор і потім клацніть ім'я та ВД потоку.

Поверніться назад до панелі інструментів Місце налагодження і знову клацніть список Потік.

Тепер в списку відображаються тільки відмічені потоки. Кнопка прапора знаходиться праворуч від списку Потік. Значок прапора на кнопці раніше був тьмяним. Тепер у нього яскраво-червоне забарвлення.

Наведіть покажчик миші на значок прапора.

У спливаючому вікні. Це спливаюче вікно повідомляє, в якому режимі відображається список Потік. Показувати тільки відмічені потоки.

Натисніть кнопку прапора для перемикання назад в режим Показувати всі потоки.

Знову клацніть список Потік і переконайтеся, що тепер знову відображаються всі потоки.

Натисніть кнопку прапора для перемикання назад в режим Показувати тільки відмічені потоки.

В меню Налагодження виберіть пункт Вікна і потім клацніть Потоки.

З'явиться вікно Потоки. До одного потоку прикріплений помітний значок прапора.

У вікні вихідного коду клацніть правою кнопкою миші маркер потоку ще раз.

Перейдіть до наступного кроку - як зняти позначку з потоку.

Щоб зняти позначку з потоку

У вікні Потоки клацніть правою кнопкою миші рядок, відповідну зазначеному потоку.

З'явиться контекстне меню. У ньому представлені варіанти Зняти позначку і Зняти всі відмітки.

Щоб зняти позначку з потоку, клацніть Зняти позначку.

Натисніть піктограму червоного прапорця.

Подивіться на панель інструментів Місце налагодження ще раз. Кнопка прапора знову стала тьмяною. Ви зняли позначку з тільки що зазначеного потоку. Оскільки відсутні відмічені потоки, панель інструментів повернулася в режим Показувати всі потоки. Клацніть список Потік і переконайтеся, що відображаються всі потоки.

У верхній частині кожної колонки велика частина кнопок має заголовки, які ідентифікують колонку. Однак перший стовпець зліва не має заголовка. Замість цього він має значок, який є контуром прапора. Можна помітити той же контур в кожному рядку списку потоків. Контур означає, що потік не відзначений.

Клацніть контури прапорів у двох потоків, другого і третього знизу в списку.

Замість контурів будуть відображатися значки червоних прапорів.

Натисніть кнопку в заголовку колонки прапорів.

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

Знову натисніть кнопку в заголовку колонки прапорів.

Порядок сортування змінився ще раз.

Щоб отримати додаткові відомості про вікно "Потоки"

Тепер список потоків відсортований за ідентифікатором потоку.

Клацніть правою кнопкою миші будь-який потік в списку. У контекстному меню виберіть команду Шестнадцатерічний висновок.

Формат ідентифікаторів потоків змінився.

Наведіть покажчик миші на будь-який потік в списку.

Після невеликої затримки з'явиться Підказка Даних. Вона відображає частковий стек виклику для цього потоку.

Перший потік, створений у процесі, називається "основний потік". Знайдіть його в списку потоків.

Клацніть правою кнопкою миші основний потік і виберіть Переключитися на потік.

З'явиться діалогове вікно з попередженням. Воно повідомляє, що Visual Studio не може відобразити вихідний код для основного потоку.

Подивіться на вікно Стек викликів і панель інструментів Місце налагодження.

Вміст вікна Стек викликів змінилося.

Щоб переключатися між потоками

Запишіть ідентифікатор потоку, на якому встановлений індикатор активного потоку. Індикатор активного потоку буде переміщений на інший потік, але після завершення його необхідно буде повернути.

Клацніть правою кнопкою миші інший потік і виберіть пункт Переключитися на потік.

Подивіться на вікно Стек викликів у вікні вихідного коду. Його вміст змінилося.

Подивіться на панель інструментів Місце налагодження. Тут активний потік теж був змінений.

Перейдіть до панелі інструментів Місце налагодження. Клацніть поле Потік і виберіть інший потік із списку.

Подивіться на вікно Потоки. Тут змінився індикатор активного потоку.

У вікні вихідного коду клацніть правою кнопкою миші маркер потоку. У контекстному меню виберіть Переключитися на і потім виберіть ім'я або ідентифікатор потоку.

Було розглянуто три способи зміни активного потоку: за допомогою вікна Потоки. поля Потік в панелі інструментів Місце налагодження. а також індикатора потоку у вікні вихідного коду.

За допомогою індикатора потоку можна перемикатися тільки на потоки, зупинені в цьому конкретному розташуванні. За допомогою вікна Потоки і панелі інструментів Місце налагодження можна переключитися на будь-який потік.

Схожі статті