Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Когда вы не проводите отладку, Управление жизненным циклом процессов Windows (PLM) контролирует состояние выполнения вашего приложения — запуск, приостановка работы, возобновление и завершение приложения в ответ на действия пользователя и состояние устройства. При отладке Windows отключает эти события активации. В этом разделе описывается, как запустить эти события в отладчике.
В этом разделе также описывается отладка фоновых задач. Фоновые задачи позволяют выполнять определенные операции в фоновом процессе, даже если приложение не запущено. Вы можете использовать отладчик, чтобы поместить приложение в режим отладки, а затем, не запуская пользовательский интерфейс, запустить и отладить фоновую задачу.
Дополнительные сведения об управлении жизненным циклом процесса и фоновых задачах см. в разделе "Запуск", "Возобновление" и "Многозадачность".
События управления жизненным циклом триггера
Windows может приостановить приложение, когда пользователь переключается с него или когда Windows входит в состояние низкой мощности. Вы можете ответить на Suspending событие, чтобы сохранить соответствующие данные приложения и пользователя в постоянном хранилище и освободить ресурсы. Когда приложение возобновляется из приостановленного состояния, оно переходит в состояние «Выполняется» и продолжается с того места, где оно находилось в момент приостановки. Вы можете ответить на Resuming событие для восстановления или обновления состояния приложения и восстановления ресурсов.
Хотя Windows пытается сохранить максимальное количество приостановленных приложений в памяти, Windows может завершить работу приложения, если недостаточно ресурсов, чтобы сохранить его в памяти. Пользователь также может явно закрыть приложение. Нет специального события, указывающего, что пользователь закрыл приложение.
В отладчике Visual Studio можно вручную приостановить, возобновить и завершить работу приложений для отладки событий жизненного цикла процесса. Отладка события жизненного цикла процесса:
Установите точку останова в обработчике того события, которое вы хотите отладить.
Нажмите клавишу F5, чтобы начать отладку.
На панели инструментов "Расположение отладки " выберите событие, которое нужно запустить:
Приостановка и завершение закрывает приложение и завершает сеанс отладки.
Активация фоновых задач
Любое приложение может зарегистрировать фоновую задачу для реагирования на определенные системные события, даже если приложение не запущено. Фоновые задачи не могут запускать код, который напрямую обновляет пользовательский интерфейс; Вместо этого они отображают сведения для пользователя с обновлениями плиток, обновлениями значков и всплывающих уведомлений. Дополнительные сведения см. в статье "Поддержка приложения с фоновыми задачами".
Вы можете активировать события, запускающие фоновые задачи для приложения из отладчика.
Замечание
Отладчик может активировать только те события, которые не содержат данных, например события, указывающие на изменение состояния на устройстве. Необходимо вручную активировать фоновые задачи, требующие ввода пользователем или других данных.
Самый реалистичный способ активировать фоновое событие задачи — когда приложение не запущено. Однако активация события в стандартном сеансе отладки также поддерживается.
Активация события фоновой задачи из стандартного сеанса отладки
Установите точку останова в коде фоновой задачи, которую вы хотите отладить.
Нажмите клавишу F5, чтобы начать отладку.
В списке событий на панели инструментов "Расположение отладки " выберите фоновую задачу, которую вы хотите запустить.
Активируйте фоновую задачу, если приложение не запущено
Установите точку останова в коде фоновой задачи, которую вы хотите отладить.
Откройте страницу свойств отладки для проекта запуска. В обозревателе решений выберите проект . В меню отладки выберите "Свойства".
Для проектов C++ разверните узел "Свойства конфигурации", а затем выберите "Отладка".
Выполните одно из следующих действий:
Для проектов Visual C# и Visual Basic выберите "Не запускать", но отлаживать код при запуске
Для проектов C++ выберите "Нет " в списке приложений запуска .
Нажмите клавишу F5 , чтобы поместить приложение в режим отладки. Обратите внимание, что список процессов на панели инструментов "Расположение отладки " отображает имя пакета приложения, указывающее, что вы находитесь в режиме отладки.
В списке событий на панели инструментов "Расположение отладки " выберите фоновую задачу, которую вы хотите запустить.
Активация событий управления жизненным циклом процесса и фоновых задач из установленного приложения
Используйте диалоговое окно "Отладочный пакет приложения" , чтобы загрузить приложение, которое уже установлено в отладчик. Например, можно выполнить отладку приложения, установленного из Microsoft Store, или отладить приложение, если у вас есть исходные файлы для приложения, но не проект Visual Studio для приложения. Диалоговое окно "Отладка установленного пакета приложений" позволяет запустить приложение в режиме отладки на компьютере Visual Studio или на удаленном устройстве или установить приложение для запуска в режиме отладки, но не запустить его. Дополнительные сведения см. в статье Отладка установленного пакета приложения.
После загрузки приложения в отладчик можно использовать любой из описанных выше процедур.
Диагностика ошибок активации фоновой задачи
Журналы диагностики в средстве просмотра событий Windows для фоновой инфраструктуры содержат подробные сведения, которые можно использовать для диагностики и устранения ошибок фоновой задачи. Чтобы просмотреть журнал, выполните следующие действия.
Откройте приложение средства просмотра событий.
В области "Действия" выберите "Вид " и убедитесь, что установлен флажок "Показать аналитические и отладочные журналы ".
В дереве Средство просмотра событий (локальный) разверните узлы Журналы приложений и служб>Microsoft>Windows>BackgroundTasksInfrastructure.
Выберите диагностический журнал.