Visual studio журнал ошибок
Архитектура протоколирования событий
Информация журнала событий хранится в нескольких журнальных файлах. Наиболее важные из них — журналы приложений, безопасности и системы. В ветви HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Eventlog системного реестра для службы журнала событий предусмотрено несколько конфигурационных элементов, указывающих на определенные файлы. Файл журнала системы используется системой и драйверами устройств.
Приложения и службы осуществляют запись в журнал приложений. Журнал безопасности доступен приложениям только для чтения. Журнал безопасности используется средством аудита операционной системы. Каждое приложение может также создавать специальную категорию и файл журнала для записи в него журнала событий. Например, это делает приложение Media Center.
Для чтения этих событий применяется инструмент администрирования Event Viewer. Программа Event Viewer (Просмотр событий) может быть запущена непосредственно из окна Server Explorer (Проводник сервера) среды Visual Studio щелчком правой кнопкой мыши на элементе Event Logs и выбором в контекстном меню пункта Launch Event Viewer (Запустить Event Viewer). Пользовательский интерфейс программы Event Viewer показан на рис.:
В журнале событий доступна следующая информация по каждому событию:
Тип: Information (Уведомления), Warning (Предупреждение) или Error (Ошибка). Типом Information обозначают нечастую успешную операцию; Warning — проблему, которая не является неотложной; Error — серьезную проблему. Есть и дополнительные типы FailureAudit и SuccessAudit, однако они используются только для журнала безопасности.
Дата и время показывают день и час возникновения события.
Категория обеспечивает фильтрацию журналов событий в программе Event Viewer. Категории могут быть определены источником событий.
Классы протоколирования событий
Для записи журналов событий существуют два разных API-интерфейса Windows. Для одного из них, который доступен, начиная с Windows Vista, предусмотрены классы-оболочки в пространстве имен System.Diagnostics.Eventing, а для другого классы-оболочки находятся в пространстве имен System.Diagnostics.
Пространство имен System. Diagnostics содержит классы для протоколирования событий, перечисленные ниже:
EventLog
С помощью класса EventLog можно читать и записывать элементы журнала событий, а также устанавливать приложения в качестве источников событий.
EventLogEntry
Класс EventLogEntry представляет отдельный элемент журнала событий. С помощью EventLogEntryCollection можно выполнять итерации по элементам EventLogEntry.
EventLogInstaller
Класс EventLogInstaller — это установщик компонента EventLog. Для создания источника событий он обращается к EventLog.CreateEventSource().
EventLogTraceListener
С помощью EventLogTraceListener трассировки могут записываться в журнал событий. Этот класс является реализацией абстрактного класса TraceListener.
Ядром протоколирования событий является класс EventLog. Члены этого класс описаны в таблице:
Перед записью событий потребуется создать источник событий. Для этого можно использовать метод CreateEventSource() класса EventLog либо класс EventLoglnstaller. Поскольку при создании источника событий нужны административные привилегии, программа установки является более подходящим выбором.
В следующем примере осуществляется проверка наличия источника событий по имени EventLogDemoApp. Если он не существует, создается объект типа EventSourceCreationData, который определяет имя источника EventLogDemoApp и имя журнала ProCSharpLog. Все события данного источника пишутся в журнал событий ProCSharpLog. По умолчанию это журнал приложений:
Имя источника событий — это идентификатор приложения, которое пишет элементы журнала событий. Системному администратору, читающему журнал, эта информация помогает идентифицировать элементы журнала событий для отображения их на категории приложения. Примерами имен источников событий могут служить LoadPerf — для монитора производительности, MSSQLSERVER — для Microsoft SQL Server, MsiInstaller — для Windows Installer, Winlogon, Tcpip, Time-Service и т.д.
Установка имени Application для журнала событий приводит к записи элементов событий в журнал приложений. Можно также создать собственный журнал, указав имя журнала событий. Файлы журнала располагаются в каталоге \System32\WinEvt\Logs.
С помощью EventSourceCreationData допускается также задавать еще несколько характеристик для журнала событий.
The Error List displays information about a specific error message. You can copy the error number or error string text from the Output window. To display the Output window, press Ctrl+Alt+O. See Output window.
The Error List window lets you perform the following tasks:
Display the errors, warnings, and messages produced while you write code.
Find syntax errors noted by IntelliSense.
Find deployment errors, certain Static Analysis errors, and errors detected while applying Enterprise Template policies.
Double-click any error message entry to open the file where the problem occurs, and move to the error location.
Filter which entries are displayed, and which columns of information appear for each entry.
Search for specific terms and scope the search to just the current project or document.
To display the Error List, choose View > Error List, or press Ctrl+\+E.
You can choose the Errors, Warnings, and Messages tabs to see different levels of information.
To sort the list, click any column header. To sort again by an additional column, hold down the Shift key and click another column header. To select which columns are displayed and which are hidden, choose Show Columns from the shortcut menu. To change the order in which columns are displayed, drag any column header to the left or right.
Error List Filters
There are two types of filter in two dropdown boxes, one on the right side of the toolbar and one to the left of the toolbar. The dropdown list on the left side of the toolbar specifies the set of code files to use (Entire Solution, Open Documents, Current Project, Current Document).
You can restrict the scope of the search to analyze and act on groups of errors. For example, you might want to focus on core errors that are preventing a project from compiling. The scoping options include:
Open Documents: Show errors, warnings, and messages for the open documents.
Current Project: Show errors, warnings, and messages from the project of the currently selected document in the Editor or the selected project in Solution Explorer.
The filtered list of errors, warnings, and messages will change if the project of the currently selected document is different from the project selected in Solution Explorer.
Current Document: Show errors, warnings, and messages for the currently selected document in the Editor or Solution Explorer.
If a filter is currently applied to the search result, the name of the filter appears in the Error List title bar. The Errors, Warnings, and Messages buttons then display the number of filtered items being shown along with the total number of items. For example, the buttons show "x of y Errors". If no filter is applied, the title bar says only "Error List".
The list on the right side of the toolbar specifies whether to show errors from the build (errors resulting from a build operation) or from IntelliSense (errors detected before running a build), or from both.
Search
Use the Search Error List text box on the right side of the Error List toolbar to find specific errors in the error list. You can search on any visible column in the error list, and search results are always sorted based on the column that has sort priority instead of on the query or the filter applied. If you choose the Esc key while the focus is in the Error List, you can clear the search term and filtered search results. You can also click the X on the right side of the text box to clear it.
You can copy the error list and save it to a file. Select the errors you want to copy and right-click the selection, then on the context menu select Copy. You can then paste the errors into a file. If you paste the errors to an Excel spreadsheet, the fields appear as different columns.
UI Element List
Displays the different types of Error List entry (Error, Message, Warning, Warning (active), Warning (inactive).
С помощью окна Список ошибок можно выполнять следующие задачи.
Поиск синтаксических ошибок, обнаруженных функцией IntelliSense.
Поиск ошибок развертывания, некоторых ошибок статического анализа и ошибок, обнаруженных при применении политик из шаблона предприятия.
Фильтрация отображаемых записей и столбцов данных, которые будут показаны в каждой записи.
Поиск конкретных терминов и ограничение поиска только в текущим проектом или документом.
Чтобы открыть окно Список ошибок, выберите Вид > Список ошибок или нажмите сочетание клавиш CTRL+ \ +E.
Для сортировки списка выберите любой заголовок столбца. Для повторной сортировки по дополнительному столбцу щелкните другой заголовок столбца, удерживая клавишу SHIFT. Чтобы выбрать отображаемые и скрываемые столбцы, щелкните команду Показать столбцы в контекстном меню. Чтобы изменить порядок, в котором отображаются столбцы, перетащите любой заголовок столбца влево или вправо.
Фильтры списка ошибок
Существует два типа фильтров в двух раскрывающихся списках: один находится справа от панели инструментов, а другой — слева. В раскрывающемся списке слева от панели инструментов указан набор файлов кода (Все решение, Открытые документы, Текущий проект, Текущий документ).
Можно ограничить область поиска для анализа групп ошибок и выполнения соответствующих действий. Например, вам может потребоваться сосредоточиться на основных ошибках, препятствующих компиляции проекта. Для ограничения поиска используются следующие параметры.
В списке справа от панели инструментов указано, следует ли отображать ошибки из сборки (ошибки, возникающие из операции сборки) или из IntelliSense (ошибки, обнаруженные перед запуском сборки) либо и те, и другие.
Поиск
Используйте текстовое поле Поиск в списке ошибок справа от панели инструментов Список ошибок, чтобы найти конкретные ошибки в списке. Поиск можно выполнять на любом отображаемом столбце списка ошибок, и результаты поиска всегда сортируются на основе столбца, имеющего приоритет сортировки, а не на основе примененного запроса или фильтра. Чтобы очистить поисковый запрос и отфильтрованные результаты поиска, нажмите клавишу ESC, выделив область Список ошибок. Можно также щелкнуть X справа от текстового поля, чтобы очистить его.
Сохранить
Список ошибок можно скопировать и сохранить в файл. Выделите ошибки, которые необходимо скопировать, щелкните их правой кнопкой мыши, а затем в контекстном меню выберите команду Копировать. После этого ошибки можно вставить в файл. При вставке ошибок в электронную таблицу Excel поля отображаются в виде различных столбцов.
Список элементов пользовательского интерфейса
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
Иногда возникают проблемы. Если происходит сбой установки или обновления Visual Studio, эта страница может помочь решить проблему.
Устранение неполадок при установке и обновлении Visual Studio
[!IMPORTANT] Возможно, у вас возникли проблемы с установкой? Мы готовы помочь. Мы предлагаем для поддержки чат по вопросам установки (только на английском языке).
Это руководство содержит пошаговые инструкции, которые помогут устранить большинство проблем при установке.
Установка через Интернет
Следующие шаги применимы к обычной установке через Интернет. Сведения об автономной установке см. в разделе об устранении неполадок с автономной установкой.
Шаг 1. Проверьте, не связана ли ошибка с известными проблемами
Существуют несколько известных проблем с Visual Studio Installer, и корпорация Майкрософт работает над их устранением. Чтобы найти способ обойти эту проблему, проверьте раздел известных проблем в заметках о выпуске.
Существуют несколько известных проблем с Visual Studio Installer, и корпорация Майкрософт работает над их устранением. Чтобы найти способ обойти эту проблему, проверьте раздел известных проблем в заметках о выпуске.
Существуют несколько известных проблем с Visual Studio Installer, и корпорация Майкрософт работает над их устранением. Проверьте, решена ли проблема, или найдите обходные пути в разделе "Известные проблемы" в заметках о выпуске.
Шаг 2. Попробуйте восстановить Visual Studio
Процедура восстановления способна устранить многие распространенные проблемы с обновлением. Дополнительные сведения о том, когда и как восстанавливать Visual Studio, см. в разделе Восстановление Visual Studio.
Шаг 3. Обратитесь к сообществу разработчиков
Шаг 4. Удалите папку Visual Studio Installer, чтобы устранить проблемы, связанные с обновлением
Начальный загрузчик Visual Studio представляет собой исполняемый файл небольшого размера, который инициирует установку Visual Studio Installer и продукта Visual Studio. Если вы удалите файлы Visual Studio Installer и повторно запустите начальный загрузчик, это может решить некоторые проблемы, связанные с обновлением.
[!NOTE] С помощью следующей процедуры можно переустановить файлы Visual Studio Installer и сбросить метаданные установки.
- Закройте Visual Studio Installer.
- Удалите папку Visual Studio Installer. Как правило, путь к папке: C:\Program Files (x86)\Microsoft Visual Studio\Installer .
- Запустите начальный загрузчик Visual Studio Installer. Файл начального загрузчика можно найти в папке Загрузки. Его имя соответствует шаблону vs_[Visual Studio edition]__*.exe . Вы также можете скачать начальный загрузчик для вашего выпуска Visual Studio со страницы загрузок Visual Studio. Запустите этот исполняемый файл, чтобы сбросить метаданные установки.
- Снова попробуйте установить или обновить Visual Studio. Если Visual Studio Installer продолжает выдавать ошибки, перейдите к шагу Сообщить о проблеме.
Шаг 5. Сообщите о проблеме
В некоторых ситуациях, например при наличии поврежденных файлов, вам, возможно, понадобится устранять неполадки случай за случаем. Вы можете содействовать нам при оказании вам помощи, выполнив следующие действия:
Шаг 6. Удаление файлов установки Visual Studio
В крайнем случае вы можете удалить все файлы установки Visual Studio и информацию о продукте:
- Следуйте инструкциям, приведенным в этой статье: Удаление Visual Studio.
- Снова запустите начальный загрузчик Visual Studio Installer. Файл начального загрузчика можно найти в папке Загрузки. Его имя соответствует шаблону vs_[Visual Studio edition]__*.exe . Вы также можете скачать начальный загрузчик для вашего выпуска Visual Studio со страницы загрузок Visual Studio.
- Попробуйте переустановить Visual Studio.
Шаг 7. Свяжитесь с нами (необязательно)
Если вы выполнили все вышеуказанные шаги, но вам так и не удалось установить или обновить Visual Studio, свяжитесь с нами через чат в реальном времени (только на английском языке) для получения дополнительной помощи.
Здесь приведены некоторые известные проблемы и варианты обходных путей, которые могут помочь при создании автономной установки и установке из локального источника.
Проблема | Решение |
---|---|
Пользователи не имеют доступ к файлам | Прежде чем открывать общий доступ к автономной установке, необходимо настроить разрешения (ACL) и предоставить пользователям права на чтение. |
Не удается установить новые рабочие нагрузки, компоненты или языковые пакеты | Если вы производите установку из частичного макета и выбираете рабочие нагрузки, компоненты или языки, которые не скачаны в этот макет, вам потребуется доступ в Интернет. |
Обновления администратора могут применяться неправильно по различным причинам. Дополнительные сведения см. в статье Коды ошибок для устранения неполадок с обновлениями администратора.
Журналы установки помогают нам в устранении большинства неполадок при установке. При отправке сигнала о проблеме с помощью варианта Сообщить о проблеме в Visual Studio Installer в отчет автоматически добавляется последний журнал установки Visual Studio Installer.
Чтобы собрать журналы, выполните указанные ниже действия.
-
.
- Откройте командную строку от имени администратора.
- Запустите Collect.exe в папке, в которой сохранили средство.
- Средство создает файл vslogs.zip в папке %TEMP% , как правило, в C:\Users\YourName\AppData\Local\Temp\vslogs.zip .
[!NOTE] Запускайте средство с помощью той же учетной записи пользователя, с помощью которой запускалась завершившаяся сбоем установка. Если вы запускаете средство с помощью другой учетной записи, задайте параметр –user: , чтобы указать учетную запись пользователя, с помощью которой запускалась завершившаяся сбоем установка. Чтобы просмотреть дополнительные параметры и сведения об использовании, запустите Collect.exe -? из командной строки администратора.
Проблемы при установке WebView2
WebView2 — это компонент, необходимый для Visual Studio, но установку этого компонента можно заблокировать с помощью групповых политик вашей организации. Блокировка установки WebView2 не даст выполнить установку Visual Studio.
• Если настроена политика Microsoft Edge "Install (WebView)", она определит, можно ли установить WebView2. • Если политика Microsoft Edge "Install (WebView)" не настроена, политика Microsoft Edge "InstallDefault" определит, можно ли установить WebView2.
[!NOTE] Если ни одна из политик не настроена, ваша организация разрешает установку WebView2.
Помощь в реальном времени
Если решения, приведенные в этом руководстве по устранению неполадок, не помогли вам установить или обновить Visual Studio, воспользуйтесь чатом в реальном времени (только на английском языке) для получения дополнительной помощи.
План этой статьи:
- Создание службы
- Event Viewer
- Код службы
- Проверка работы службы(Запуск службы вручную)
- Отображение WinForm
Создание службы
Дальше нужно создать установщик. В открывшемся окне щелкаем ПКМ и выбираем «Add Installer». У вас создастся «ProjectInstaller.cs[Design]» после чего нужно будет перейти к коду «F7» или ПКМ «View Code». Нужно найти строку «InitializeComponent();», поставить на нее курсор и нажать «F12», дальше нужно добавить следующие строки:
Но добавлять эти строки нужно только в следующей последовательности и месте. Иначе будет ошибка при установке сервиса.
Event Viewer
Это нужно для проверки правильной работы нашей программы.
Event Viewer — программа для просмотра журнала событий которая есть на каждом компьютере с windows. Каждая программа, которая запускается на компьютере, публикует уведомление в журнале событий до того, как останавливается. Любой доступ к системе, изменение безопасности, подстройка операционной системы, аппаратный сбой и сбой драйвера — все это попадает в журнал событий. Event Viewer сканирует файлы текстового журнала, объединяет их и помещает в интерфейс.
Как его открыть? — Пуск → Event Viewer(в поиске) → «Просмотр журналов событий».
Дальше «Настраиваемые представления (Custom Views)» → «События управления (Administrative Events)». Тут мы можем увидеть все ошибки, предупреждения и информацию о них.
Есть 3 типа журнала: приложение(Application), системные(System) и безопасность(Security). Нам нужен только системный(System).
Код службы
Находим файл .cs с названием службы, у меня это «Service1.cs», открываем. В файле должно быть заготовлено 2 переопределенных метода:
- OnStart(string[] args) — выполняется при запуске службы,
- OnStop() — выполняется при остановке службы.
Данные которые мы получаем будем хранить в обновляемом текстовом файле, поэтому добавляем
Добавляем код в метод OnStart(string[] args):
Дальше нужно собрать решение «Solution» -> «Rebuild Solution». После успешной сборки можно проверять работу.
Проверка работы службы(Запуск службы вручную)
Службу windows нельзя запускать как обычное приложение. Можно запустить только через командную строку от имени администратора.
Запускаем командную строку от имени администратора. Ввести следующие команды:
Дальше нажимаем клавишу Win+R. Вводим «Services.msc». Находим в списке свой сервис, нажимаем на него, и нажимаем «Запустить(Start)». После успешного запуска сформируется файл по указанному в коде пути в котором будет находиться список системных ошибок.
Не забываем удалить службу после проверки.
Отображение WinForm
Для отображения в консоли если постараться то можно найти статьи, но для отображения в WinForm я так и не нашла, так что вот. По умолчанию проект службы создается типа «Application». Для отображения через консоль этот параметр в настройках нужно поменять, для WinForm оставить как есть. Дальше нужно добавить форму в проект. «WindowsService1» → ПКМ → Add → Windows Form → Add. И делаем примерно следующий дизайн. Дальше меняем файл «Program.cs».
И меняем метод Main:
Добавляем новый класс «SystemError». («WindowsService1» -> ПКМ -> Add -> Class -> Add). Тут мы будем хранить данные об ошибках. Меняем его:
Дальше в «Service1.cs» добавляем метод «RunFromForm(string[] args)» который запускает службу.
Добавляем новый класс «GetListErrors». («WindowsService1» -> ПКМ -> Add -> Class -> Add). Тут мы будем доставать данные из файла. Добавляем using:
Дальше меняем код формы «Form1.cs». Добавляем using:
Теперь можно запускать службу как обычное приложение. Выглядит результат следующим образом:
Читайте также: