Visual studio журнал ошибок

title description ms.date ms.technology ms.topic ms.assetid author ms.author manager ms.workload

How to: View, save, and configure build log files

Learn how you can view, save, and configure build log files. These files provide information such as the command lines used for the compiler and other tools, which can help you troubleshoot build failures.

11/11/2022

vs-ide-compile

how-to

75d38b76-26d6-4f43-bbe7-cbacd7cc81e7

ghogen

ghogen

jmartens

multiple

How to: View, save, and configure build log files

[!INCLUDE Visual Studio]

After you build a project in the Visual Studio IDE, you can view information about that build in the Output window. By using this information, you can troubleshoot a build failure, view the exact command lines used for all the build tools, or get full diagnostic information about the entire build process.

  • For C++ projects, you can also view the same information in a log file that’s created and saved when you build a project.

  • For .NET projects, you can click in the build output window and press Ctrl+S. Visual Studio prompts you for a location to save the information from the Output window into a log file.

You can also use the IDE to specify what kinds of information you want to view about each build.

If you build any kind of project by using MSBuild, you can create a log file to save information about the build. For more information, see Obtain build logs.

To view the build log file for a C++ project

  1. In Windows Explorer or File Explorer, open the following file (relative to the project root folder): Release{ProjectName}.Log or Debug{ProjectName}.log

To create a build log file for a managed-code project

  1. On the menu bar, choose Build > Build Solution.

  2. In the Output window, click somewhere in the text.

  3. Press Ctrl+S.

    Visual Studio prompts you for a location to save the build output.

You can also generate logs by running MSBuild directly from the command line, using the -fileLogger (-fl) command-line option. See Obtain build logs with MSBuild.

To change the amount of information included in the build log

  1. On the menu bar, choose Tools > Options.

  2. On the Projects and Solutions page, choose the Build and Run page.

  3. In the MSBuild project build output verbosity list, choose one of the values, and then choose the OK button.

The following table shows how the log verbosity (column values) affects which types of message (row values) are logged.

Message type / Verbosity Quiet Minimal Normal Detailed Diagnostic
Errors
Warnings
High-importance Messages
Normal-importance Messages
Low-importance Messages
Additional MSBuild-engine information

If you want to see the command lines used for the compiler and other tools, choose at least the Detailed verbosity level.

For more information, see Options dialog box, Projects and Solutions, Build and Run and xref:Microsoft.Build.Framework.LoggerVerbosity.

[!IMPORTANT]
You must rebuild the project for your changes to take effect in the Output window (all projects) and the <ProjectName>.txt file (C++ projects only).

Use binary logs to make it easier to browse large log files

:::moniker range=»<=vs-2019″
Binary logs are an optional feature for .NET projects that lets you have a richer log browsing experience that might make it easier to find information in large logs. To use binary logs, install the Project System Tools. For more information, see https://msbuildlog.com and Binary Log.
:::moniker-end
:::moniker range=»>=vs-2022″
Binary logs are an optional feature for .NET projects that lets you have a richer log browsing experience that might make it easier to find information in large logs. To use binary logs, install the Project System Tools 2022. For more information, see https://msbuildlog.com and Binary Log.
:::moniker-end

See also

  • Build and clean projects and solutions in Visual Studio
  • Compile and build
  • Obtaining build logs with MSBuild

My VS Code frequently shows an error, something like «Error: cannot read property ‘name’ of undefined». The ‘ESLint’ tag in the status bar also shows up in red with an exclamation mark.

I suspect my team’s custom ESLint plugin. I’d like to see the stack trace of the failure, which would probably confirm or refute my theory.

Does VS Code keep logs for this kind of error? If so, where are they?

(I’m running it on a Mac.)

asked Sep 22, 2017 at 21:58

Bruce's user avatar

0

VSCode has a couple of commands for opening its logs folders. For the VSCode logs, you can use the Developer: Open Logs Folder command, and for VSCode extensions it’s Developer: Open Extensions Logs Folder. You can search for those commands in the Command Palette in the usual way.

These commands spawn a new Finder window on OSX, or open in Windows Explorer on Windows.

answered May 11, 2020 at 8:02

serg10's user avatar

serg10serg10

31.8k16 gold badges72 silver badges94 bronze badges

3

On Linux there are some log files under ~/.config/Code/logs. Hope this helps.

answered Feb 12, 2018 at 9:04

Sam's user avatar

SamSam

3994 silver badges6 bronze badges

On Windows, it is at %AppData%Codelogs

rustyx's user avatar

rustyx

79.9k24 gold badges196 silver badges262 bronze badges

answered Apr 25, 2019 at 17:56

beenhazed's user avatar

beenhazedbeenhazed

2993 silver badges3 bronze badges

0

I believe this is the directory you’re looking for on MacOS: ~/Library/Application Support/Code/logs/. I’m not sure if extensions typically store their logs and stuff elsewhere, but they’ll likely be somewhere in the Code folder.

answered Mar 18, 2019 at 19:56

Erik Nelson's user avatar

Erik NelsonErik Nelson

1552 silver badges11 bronze badges

1

For clarification if anyone else stumbles on this type ‘>Developer: Open Logs Folder’ with the forward > symbol to start

answered Apr 30, 2022 at 0:02

Robbie Smith's user avatar

1

You can use the VSC command palette.

VSC stores its logs in various files depending on the purpose of those logs. There are a few commands to view them.

  1. View the logs in your editor with the command:

    >Developer: Show logs
    

    Then select which log file you want to view.

OR

  1. View the log files in your file navigator with the command:

    >Developer: Open Logs Folder
    

answered Jun 5 at 19:17

steel's user avatar

steelsteel

11.7k7 gold badges70 silver badges107 bronze badges

Содержание

  1. How to: View, save, and configure build log files
  2. To view the build log file for a C++ project
  3. To create a build log file for a managed-code project
  4. To change the amount of information included in the build log
  5. Практическое руководство. Просмотр, сохранение и настройка файлов журнала сборки
  6. Просмотр файла журнала сборки для проекта C++
  7. Создание файла журнала сборки для проекта управляемого кода
  8. Изменение объема сведений, включенных в журнал сборки
  9. Устранение неполадок и создание журналов по проблемам MSBuild
  10. Значение свойства игнорируется
  11. При добавочной сборке выполняются ненужные операции сборки
  12. Создание двоичного журнала MSBuild в командной строке
  13. Создание двоичного журнала MSBuild с помощью расширения Project System Tools
  14. Создание подробного журнала
  15. Troubleshoot an app in Azure App Service using Visual Studio
  16. Overview
  17. Prerequisites
  18. App configuration and management
  19. Access app files in Server Explorer
  20. Remote debugging apps
  21. Remote debugging WebJobs
  22. Notes about remote debugging
  23. Diagnostic logs overview
  24. Create and view application trace logs
  25. Add tracing statements to the application
  26. View the tracing output locally
  27. View the tracing output in Azure
  28. Output window features
  29. View web server logs
  30. View detailed error message logs
  31. Download file system logs
  32. View failed request tracing logs
  33. Next Steps
  34. App Service troubleshooting
  35. Debugging in Visual Studio
  36. Remote debugging in Azure
  37. Tracing in ASP.NET applications
  38. Analyzing web server logs
  39. Analyzing failed request tracing logs

How to: View, save, and configure build log files

Applies to: Visual Studio Visual Studio for Mac Visual Studio Code

After you build a project in the Visual Studio IDE, you can view information about that build in the Output window. By using this information, you can troubleshoot a build failure, view the exact command lines used for all the build tools, or get full diagnostic information about the entire build process.

For C++ projects, you can also view the same information in a log file that’s created and saved when you build a project.

For .NET projects, you can click in the build output window and press Ctrl+S. Visual Studio prompts you for a location to save the information from the Output window into a log file.

You can also use the IDE to specify what kinds of information you want to view about each build.

If you build any kind of project by using MSBuild, you can create a log file to save information about the build. For more information, see Obtain build logs.

To view the build log file for a C++ project

  1. In Windows Explorer or File Explorer, open the following file (relative to the project root folder): Release.Log or Debug.log

To create a build log file for a managed-code project

On the menu bar, choose Build > Build Solution.

In the Output window, click somewhere in the text.

Press Ctrl+S.

Visual Studio prompts you for a location to save the build output.

You can also generate logs by running MSBuild directly from the command line, using the -fileLogger ( -fl ) command-line option. See Obtain build logs with MSBuild.

To change the amount of information included in the build log

On the menu bar, choose Tools > Options.

On the Projects and Solutions page, choose the Build and Run page.

In the MSBuild project build output verbosity list, choose one of the values, and then choose the OK button.

The following table shows how the log verbosity (column values) affects which types of message (row values) are logged.

Message type / Verbosity Quiet Minimal Normal Detailed Diagnostic
Errors вњ… вњ… вњ… вњ… вњ…
Warnings вњ… вњ… вњ… вњ… вњ…
High-importance Messages вњ… вњ… вњ… вњ…
Normal-importance Messages вњ… вњ… вњ…
Low-importance Messages вњ… вњ…
Additional MSBuild-engine information вњ…

If you want to see the command lines used for the compiler and other tools, choose at least the Detailed verbosity level.

You must rebuild the project for your changes to take effect in the Output window (all projects) and the

Источник

Практическое руководство. Просмотр, сохранение и настройка файлов журнала сборки

Область применения: Visual Studio Visual Studio для Mac Visual Studio Code

После сборки проекта в интегрированной среде разработки Visual Studio вы можете просмотреть сведения об этой сборке в окне Вывод. С помощью этих сведений можно устранить сбой сборки, просмотреть точные командные строки, используемые для всех средств сборки, или получить полную диагностическую информацию обо всем процессе сборки.

Для проектов C++ те же самые сведения можно просмотреть в файле журнала, который создается и сохраняется при создании проекта.

Для проектов .NET можно щелкнуть в окне выходных данных сборки и нажать клавиши CTRL+S. В Visual Studio появится запрос на указание расположения для сохранения информации из окна вывода в файле журнала.

Кроме того, можно прямо в интегрированной среде разработки указать, какие сведения вы хотите просмотреть о каждой сборке.

Если вы создаете любые типы проектов с помощью MSBuild, вы можете создать файл журнала для хранения сведений о сборке. Дополнительные сведения см. в разделе Получение журналов сборки.

Просмотр файла журнала сборки для проекта C++

  1. В проводнике Windows или проводник откройте следующий файл (относительно корневой папки проекта): Release. Log или Debug.log

Создание файла журнала сборки для проекта управляемого кода

В строке меню последовательно выберите Сборка>Собрать решение.

В окне вывода щелкните где-нибудь в тексте.

Нажмите клавиши CTRL+S.

В Visual Studio появится запрос на указание расположения для сохранения выходных данных сборки.

Можно также создавать журналы, запустив MSBuild непосредственно из командной строки с помощью параметра командной строки -fileLogger ( -fl ). См. статью о получении журналов сборки с помощью MSBuild.

Изменение объема сведений, включенных в журнал сборки

В строке меню выберите Сервис>Параметры.

На странице Проекты и решения выберите страницу Сборка и запуск.

В списке Детализация выходных данных сборки проекта MSBuild выберите одно из значений и нажмите кнопку ОК .

В следующей таблице показано, как уровень детализации журнала (значения столбцов) влияет на то, какие типы сообщений (строки) записываются в журнал.

Тип сообщений/уровень детализации Тихий NaN Минимальный Норм. Подробный Диагностический
Ошибки
Предупреждения
Сообщения с высокой степенью важности
Сообщения со средней степенью важности
Сообщения с низкой степенью важности
Дополнительные сведения о модуле MSBuild

Если вы хотите просмотреть командные строки, используемые для компилятора и других средств, выберите по крайней мере уровень Детализация .

Необходимо перестроить проект, чтобы изменения вступили в силу в окне Вывод (все проекты) и (только проекты C++).

Источник

Устранение неполадок и создание журналов по проблемам MSBuild

Применимо к: Visual Studio Visual Studio для Mac Visual Studio Code

С помощью следующих процедур вы сможете диагностировать проблемы сборки в проекте Visual Studio и, при необходимости, создать журнал для отправки в корпорацию Майкрософт на изучение.

Значение свойства игнорируется

Если свойству проекта задано определенное значение, но это не отражается в сборке, сделайте следующее:

Откройте Командную строку разработчика Visual Studio, соответствующую вашей версии Visual Studio.

Заменив значения для пути решения, конфигурации и имени проекта, выполните следующую команду:

Эта команда создает «предварительно обработанный» файл проекта MSBuild (out.xml). В этом файле можно выполнить поиск по определенному свойству, чтобы узнать, где оно определено.

Последнее определение этого свойства и будет использоваться в сборке. Если свойство задано дважды, второе значение переопределяет первое. Кроме того, MSBuild оценивает проект в несколько этапов:

  • элементы PropertyGroup и Import;
  • элементы ItemDefinitionGroups;
  • элементы ItemGroup;
  • Целевые объекты

Следовательно, этапы выполняются в таком порядке:

Во время сборки значением MyMetadata для элемента MyFile.txt будет B (не A и не пустое значение).

При добавочной сборке выполняются ненужные операции сборки

Если MSBuild без необходимости перестраивает проект или элемент проекта, создайте подробный или двоичный журнал сборки. В журнале можно выполнить поиск по файлу, который был создан или скомпилирован без необходимости. Выходные данные выглядят следующим образом:

Если вы выполняете сборку в среде IDE Visual Studio (с детализацией окна вывода), в окне вывода для каждого проекта отображается причина, по которой он неактуален:

Создание двоичного журнала MSBuild в командной строке

Откройте Командную строку разработчика для вашей версии Visual Studio.

В окне командной строки выполните приведенные ниже команды. (Используйте только фактические значения конфигурации и проекта.)

Файл msbuild.binlog будет создан в каталоге, из которого вы запустили MSBuild.

Создание двоичного журнала MSBuild с помощью расширения Project System Tools

После установки расширения в меню Вид>Другие окна появятся некоторые новые элементы.

Выберите Вид>Другие окна>Журнал сборки, чтобы открыть окно Журнал сборки в Visual Studio. Выберите первый значок панели инструментов, чтобы начать запись обычных сборок или сборок времени разработки в системе проекта.

После записи сборка отобразится в окне «Журнал сборки». Щелкните ее правой кнопкой мыши и выберите в контекстном меню пункт Сохранить журналы, чтобы сохранить файл .binlog.

Создание подробного журнала

В главном меню Visual Studio последовательно выберите пункты Средства>Параметры>Проекты и решения>Сборка и запуск.

В обоих полях со списком для уровня детализации при сборке проекта MSBuild выберите Подробные. Первый параметр позволяет управлять уровнем детализации сборки в окне вывода, а второй — уровнем детализации сборки в файле журнала .log, который создается в промежуточном каталоге каждого проекта во время сборки.

В командной строке разработчика Visual Studio введите одну из этих команд, указав фактические значения для пути и конфигурации:

Источник

Troubleshoot an app in Azure App Service using Visual Studio

Overview

This tutorial shows how to use Visual Studio tools to help debug an app in App Service, by running in debug mode remotely or by viewing application logs and web server logs.

  • Which app management functions are available in Visual Studio.
  • How to use Visual Studio remote view to make quick changes in a remote app.
  • How to run debug mode remotely while a project is running in Azure, both for an app and for a WebJob.
  • How to create application trace logs and view them while the application is creating them.
  • How to view web server logs, including detailed error messages and failed request tracing.
  • How to send diagnostic logs to an Azure Storage account and view them there.

If you have Visual Studio Ultimate, you can also use IntelliTrace for debugging. IntelliTrace is not covered in this tutorial.

Prerequisites

This tutorial works with the development environment, web project, and App Service app that you set up in Create an ASP.NET app in Azure App Service. For the WebJobs sections, you’ll need the application that you create in Get Started with the Azure WebJobs SDK.

The code samples shown in this tutorial are for a C# MVC web application, but the troubleshooting procedures are the same for Visual Basic and Web Forms applications.

The tutorial assumes you’re using Visual Studio 2019.

The streaming logs feature only works for applications that target .NET Framework 4 or later.

App configuration and management

Visual Studio provides access to a subset of the app management functions and configuration settings available in the Azure portal. In this section, you’ll see what’s available by using Server Explorer. To see the latest Azure integration features, try out Cloud Explorer also. You can open both windows from the View menu.

If you aren’t already signed in to Azure in Visual Studio, right-click Azure and select Connect to Microsoft Azure Subscription in Server Explorer.

An alternative is to install a management certificate that enables access to your account. If you choose to install a certificate, right-click the Azure node in Server Explorer, and then select Manage and Filter Subscriptions in the context menu. In the Manage Microsoft Azure Subscriptions dialog box, click the Certificates tab, and then click Import. Follow the directions to download and then import a subscription file (also called a .publishsettings file) for your Azure account.

If you download a subscription file, save it to a folder outside your source code directories (for example, in the Downloads folder), and then delete it once the import has completed. A malicious user who gains access to the subscription file can edit, create, and delete your Azure services.

For more information about connecting to Azure resources from Visual Studio, see Assign Azure roles using the Azure portal.

In Server Explorer, expand Azure and expand App Service.

Expand the resource group that includes the app that you created in Create an ASP.NET app in Azure App Service, and then right-click the app node and click View Settings.

The Azure Web App tab appears, and you can see there the app management and configuration tasks that are available in Visual Studio.

In this tutorial, you’ll use the logging and tracing drop-downs. You’ll also use remote debugging but you’ll use a different method to enable it.

For information about the App Settings and Connection Strings boxes in this window, see Azure App Service: How Application Strings and Connection Strings Work.

If you want to perform an app management task that can’t be done in this window, click Open in Management Portal to open a browser window to the Azure portal.

Access app files in Server Explorer

You typically deploy a web project with the customErrors flag in the Web.config file set to On or RemoteOnly , which means you don’t get a helpful error message when something goes wrong. For many errors, all you get is a page like one of the following ones:

Server Error in ‘/’ Application:

An error occurred:

The website cannot display the page

Frequently the easiest way to find the cause of the error is to enable detailed error messages, which the first of the preceding screenshots explains how to do. That requires a change in the deployed Web.config file. You could edit the Web.config file in the project and redeploy the project, or create a Web.config transform and deploy a debug build, but there’s a quicker way: in Solution Explorer, you can directly view and edit files in the remote app by using the remote view feature.

In Server Explorer, expand Azure, expand App Service, expand the resource group that your app is located in, and then expand the node for your app.

You see nodes that give you access to the app’s content files and log files.

Expand the Files node, and double-click the Web.config file.

Visual Studio opens the Web.config file from the remote app and shows [Remote] next to the file name in the title bar.

Add the following line to the system.web element:

Refresh the browser that is showing the unhelpful error message, and now you get a detailed error message, such as the following example:

(The error shown was created by adding the line shown in red to ViewsHomeIndex.cshtml.)

Editing the Web.config file is only one example of scenarios in which the ability to read and edit files on your App Service app make troubleshooting easier.

Remote debugging apps

If the detailed error message doesn’t provide enough information, and you can’t re-create the error locally, another way to troubleshoot is to run in debug mode remotely. You can set breakpoints, manipulate memory directly, step through code, and even change the code path.

Remote debugging does not work in Express editions of Visual Studio.

This section shows how to debug remotely using the project you create in Create an ASP.NET app in Azure App Service.

Open the web project that you created in Create an ASP.NET app in Azure App Service.

Delete the About() method and insert the following code in its place.

Set a breakpoint on the ViewBag.Message line.

In Solution Explorer, right-click the project, and click Publish.

In the Profile drop-down list, select the same profile that you used in Create an ASP.NET app in Azure App Service. Then, click Settings.

In the Publish dialog, click the Settings tab, and then change Configuration to Debug, and then click Save.

Click Publish. After deployment finishes and your browser opens to the Azure URL of your app, close the browser.

In Server Explorer, right-click your app, and then click Attach Debugger.

The browser automatically opens to your home page running in Azure. You might have to wait 20 seconds or so while Azure sets up the server for debugging. This delay only happens the first time you run in debug mode on an app in a 48-hour period. When you start debugging again in the same period, there isn’t a delay.

If you have any trouble starting the debugger, try to do it by using Cloud Explorer instead of Server Explorer.

Click About in the menu.

Visual Studio stops on the breakpoint, and the code is running in Azure, not on your local computer.

Hover over the currentTime variable to see the time value.

The time you see is the Azure server time, which may be in a different time zone than your local computer.

Enter a new value for the currentTime variable, such as «Now running in Azure».

Press F5 to continue running.

The About page running in Azure displays the new value that you entered into the currentTime variable.

Remote debugging WebJobs

This section shows how to debug remotely using the project and app you create in Get Started with the Azure WebJobs SDK.

The features shown in this section are available only in Visual Studio 2013 with Update 4 or later.

Remote debugging only works with continuous WebJobs. Scheduled and on-demand WebJobs don’t support debugging.

Open the web project that you created in Get Started with the Azure WebJobs SDK.

In the ContosoAdsWebJob project, open Functions.cs.

Set a breakpoint on the first statement in the GnerateThumbnail method.

In Solution Explorer, right-click the web project (not the WebJob project), and click Publish.

In the Profile drop-down list, select the same profile that you used in Get Started with the Azure WebJobs SDK.

Click the Settings tab, and change Configuration to Debug, and then click Publish.

Visual Studio deploys the web and WebJob projects, and your browser opens to the Azure URL of your app.

In Server Explorer, expand Azure > App Service > your resource group > your app > WebJobs > Continuous, and then right-click ContosoAdsWebJob.

Click Attach Debugger.

The browser automatically opens to your home page running in Azure. You might have to wait 20 seconds or so while Azure sets up the server for debugging. This delay only happens the first time you run in debug mode on an app in a 48-hour period. When you start debugging again in the same period, there isn’t a delay.

In the web browser that is opened to the Contoso Ads home page, create a new ad.

Creating an ad causes a queue message to be created, which is picked up by the WebJob and processed. When the WebJobs SDK calls the function to process the queue message, the code hits your breakpoint.

When the debugger breaks at your breakpoint, you can examine and change variable values while the program is running the cloud. In the following illustration, the debugger shows the contents of the blobInfo object that was passed to the GenerateThumbnail method.

Press F5 to continue running.

The GenerateThumbnail method finishes creating the thumbnail.

In the browser, refresh the Index page and you see the thumbnail.

In Visual Studio, press SHIFT+F5 to stop debugging.

In Server Explorer, right-click the ContosoAdsWebJob node and click View Dashboard.

Sign in with your Azure credentials, and then click the WebJob name to go to the page for your WebJob.

The Dashboard shows that the GenerateThumbnail function executed recently.

(The next time you click View Dashboard, you don’t have to sign in, and the browser goes directly to the page for your WebJob.)

Click the function name to see details about the function execution.

If your function wrote logs, you could click ToggleOutput to see them.

Notes about remote debugging

Running in debug mode in production is not recommended. If your production app is not scaled out to multiple server instances, debugging prevents the web server from responding to other requests. If you do have multiple web server instances, when you attach to the debugger, you get a random instance, and you have no way to ensure that subsequent browser requests go to the same instance. Also, you typically don’t deploy a debug build to production, and compiler optimizations for release builds might make it impossible to show what is happening line by line in your source code. For troubleshooting production problems, your best resource is application tracing and web server logs.

Avoid long stops at breakpoints when remote debugging. Azure treats a process that is stopped for longer than a few minutes as an unresponsive process, and shuts it down.

While you’re debugging, the server is sending data to Visual Studio, which could affect bandwidth charges. For information about bandwidth rates, see Azure Pricing.

Make sure that the debug attribute of the compilation element in the Web.config file is set to true. It is set to true by default when you publish a debug build configuration.

If you find that the debugger doesn’t step into the code that you want to debug, you might have to change the Just My Code setting. For more information, see Specify whether to debug only user code using Just My Code in Visual Studio.

A timer starts on the server when you enable the remote debugging feature, and after 48 hours the feature is automatically turned off. This 48-hour limit is done for security and performance reasons. You can easily turn the feature back on as many times as you like. We recommend leaving it disabled when you are not actively debugging.

You can manually attach the debugger to any process, not only the app process (w3wp.exe). For more information about how to use debug mode in Visual Studio, see Debugging in Visual Studio.

Diagnostic logs overview

An ASP.NET application that runs in an App Service app can create the following kinds of logs:

  • Application tracing logs
    The application creates these logs by calling methods of the System.Diagnostics.Trace class.
  • Web server logs
    The web server creates a log entry for every HTTP request to the app.
  • Detailed error message logs
    The web server creates an HTML page with some additional information for failed HTTP requests (requests that result in status code 400 or greater).
  • Failed request tracing logs
    The web server creates an XML file with detailed tracing information for failed HTTP requests. The web server also provides an XSL file to format the XML in a browser.

Logging affects app performance, so Azure gives you the ability to enable or disable each type of log as needed. For application logs, you can specify that only logs above a certain severity level should be written. When you create a new app, by default all logging is disabled.

Logs are written to files in a LogFiles folder in the file system of your app and are accessible via FTP. Web server logs and application logs can also be written to an Azure Storage account. You can retain a greater volume of logs in a storage account than is possible in the file system. You’re limited to a maximum of 100 megabytes of logs when you use the file system. (File system logs are only for short-term retention. Azure deletes old log files to make room for new ones after the limit is reached.)

Create and view application trace logs

In this section, you do the following tasks:

  • Add tracing statements to the web project that you created in Get started with Azure and ASP.NET.
  • View the logs when you run the project locally.
  • View the logs as they are generated by the application running in Azure.

For information about how to create application logs in WebJobs, see How to work with Azure queue storage using the WebJobs SDK — How to write logs. The following instructions for viewing logs and controlling how they’re stored in Azure apply also to application logs created by WebJobs.

Add tracing statements to the application

Open ControllersHomeController.cs, and replace the Index , About , and Contact methods with the following code in order to add Trace statements and a using statement for System.Diagnostics :

Add a using System.Diagnostics; statement to the top of the file.

View the tracing output locally

Press F5 to run the application in debug mode.

The default trace listener writes all trace output to the Output window, along with other Debug output. The following illustration shows the output from the trace statements that you added to the Index method.

The following steps show how to view trace output in a web page, without compiling in debug mode.

Open the application Web.config file (the one located in the project folder) and add a element at the end of the file just before the closing element:

The WebPageTraceListener lets you view trace output by browsing to /trace.axd .

Add a trace element under in the Web.config file, such as the following example:

Press CTRL+F5 to run the application.

In the address bar of the browser window, add trace.axd to the URL, and then press Enter (the URL is similar to http://localhost:53370/trace.axd ).

On the Application Trace page, click View Details on the first line (not the BrowserLink line).

The Request Details page appears, and in the Trace Information section you see the output from the trace statements that you added to the Index method.

By default, trace.axd is only available locally. If you wanted to make it available from a remote app, you could add localOnly=»false» to the trace element in the Web.config file, as shown in the following example:

However, enabling trace.axd in a production app is not recommended for security reasons. In the following sections, you’ll see an easier way to read tracing logs in an App Service app.

View the tracing output in Azure

In Solution Explorer, right-click the web project and click Publish.

In the Publish Web dialog box, click Publish.

After Visual Studio publishes your update, it opens a browser window to your home page (assuming you didn’t clear Destination URL on the Connection tab).

In Server Explorer, right-click your app and select View Streaming Logs.

The Output window shows that you are connected to the log-streaming service, and adds a notification line each minute that goes by without a log to display.

In the browser window that shows your application home page, click Contact.

Within a few seconds, the output from the error-level trace you added to the Contact method appears in the Output window.

Visual Studio is only showing error-level traces because that is the default setting when you enable the log monitoring service. When you create a new App Service app, all logging is disabled by default, as you saw when you opened the settings page earlier:

However, when you selected View Streaming Logs, Visual Studio automatically changed Application Logging(File System) to Error, which means error-level logs get reported. In order to see all of your tracing logs, you can change this setting to Verbose. When you select a severity level lower than error, all logs for higher severity levels are also reported. So when you select verbose, you also see information, warning, and error logs.

In Server Explorer, right-click the app, and then click View Settings as you did earlier.

Change Application Logging (File System) to Verbose, and then click Save.

In the browser window that is now showing your Contact page, click Home, then click About, and then click Contact.

Within a few seconds, the Output window shows all of your tracing output.

In this section, you enabled and disabled logging by using app settings. You can also enable and disable trace listeners by modifying the Web.config file. However, modifying the Web.config file causes the app domain to recycle, while enabling logging via the app configuration doesn’t do that. If the problem takes a long time to reproduce, or is intermittent, recycling the app domain might «fix» it and force you to wait until it happens again. Enabling diagnostics in Azure lets you start capturing error information immediately without recycling the app domain.

Output window features

The Microsoft Azure Logs tab of the Output Window has several buttons and a text box:

These perform the following functions:

  • Clear the Output window.
  • Enable or disable word wrap.
  • Start or stop monitoring logs.
  • Specify which logs to monitor.
  • Download logs.
  • Filter logs based on a search string or a regular expression.
  • Close the Output window.

If you enter a search string or regular expression, Visual Studio filters logging information at the client. That means you can enter the criteria after the logs are displayed in the Output window and you can change filtering criteria without having to regenerate the logs.

View web server logs

Web server logs record all HTTP activity for the app. In order to see them in the Output window, you must enable them for the app and tell Visual Studio that you want to monitor them.

In the Azure Web App Configuration tab that you opened from Server Explorer, change Web Server Logging to On, and then click Save.

In the Output Window, click the Specify which Microsoft Azure logs to monitor button.

In the Microsoft Azure Logging Options dialog box, select Web server logs, and then click OK.

In the browser window that shows the app, click Home, then click About, and then click Contact.

The application logs generally appear first, followed by the web server logs. You might have to wait a while for the logs to appear.

By default, when you first enable web server logs by using Visual Studio, Azure writes the logs to the file system. As an alternative, you can use the Azure portal to specify that web server logs should be written to a blob container in a storage account.

If you use the portal to enable web server logging to an Azure storage account, and then disable logging in Visual Studio, when you re-enable logging in Visual Studio your storage account settings are restored.

View detailed error message logs

Detailed error logs provide some additional information about HTTP requests that result in error response codes (400 or above). In order to see them in the Output window, you have to enable them for the app and tell Visual Studio that you want to monitor them.

In the Azure Web App Configuration tab that you opened from Server Explorer, change Detailed Error Messages to On, and then click Save.

In the Output Window, click the Specify which Microsoft Azure logs to monitor button.

In the Microsoft Azure Logging Options dialog box, click All logs, and then click OK.

In the address bar of the browser window, add an extra character to the URL to cause a 404 error (for example, http://localhost:53370/Home/Contactx ), and press Enter.

After several seconds, the detailed error log appears in the Visual Studio Output window.

Control+click the link to see the log output formatted in a browser:

Download file system logs

Any logs that you can monitor in the Output window can also be downloaded as a .zip file.

In the Output window, click Download Streaming Logs.

File Explorer opens to your Downloads folder with the downloaded file selected.

Extract the .zip file, and you see the following folder structure:

Application tracing logs are in .txt files in the LogFilesApplication folder.

Web server logs are in .log files in the LogFileshttpRawLogs folder. You can use a tool such as Log Parser to view and manipulate these files.

Detailed error message logs are in .html files in the LogFilesDetailedErrors folder.

(The deployments folder is for files created by source control publishing; it doesn’t have anything related to Visual Studio publishing. The Git folder is for traces related to source control publishing and the log file streaming service.)

![Configure logging](./media/web-sites-dotnet-troubleshoot-visual-studio/tws-configlogging.png) This opens the **Configure** tab in the portal for your web app. 6. In the portal’s **Configure** tab, scroll down to the application diagnostics section, and then change **Application Logging (Table Storage)** to **On**. 7. Change **Logging Level** to **Information**. 8. Click **Manage Table Storage**. ![Click Manage TableStorage](./media/web-sites-dotnet-troubleshoot-visual-studio/tws-stgsettingsmgmtportal.png) In the **Manage table storage for application diagnostics** box, you can choose your storage account if you have more than one. You can create a new table or use an existing one. ![Manage table storage](./media/web-sites-dotnet-troubleshoot-visual-studio/tws-choosestorageacct.png) 9. In the **Manage table storage for application diagnostics** box, click the check mark to close the box. 10. In the portal’s **Configure** tab, click **Save**. 11. In the browser window that displays the application web app, click **Home**, then click **About**, and then click **Contact**. The logging information produced by browsing these web pages is written to the storage account. 12. In the **Logs** tab of the **Azure Web App** window in Visual Studio, click **Refresh** under **Diagnostic Summary**. ![Click Refresh](./media/web-sites-dotnet-troubleshoot-visual-studio/tws-refreshstorage.png) The **Diagnostic Summary** section shows logs for the last 15 minutes by default. You can change the period to see more logs. (If you get a «table not found» error, verify that you browsed to the pages that do the tracing after you enabled **Application Logging (Storage)** and after you clicked **Save**.) ![Storage logs](./media/web-sites-dotnet-troubleshoot-visual-studio/tws-storagelogs.png) Notice that in this view you see **Process ID** and **Thread ID** for each log, which you don’t get in the file system logs. You can see additional fields by viewing the Azure storage table directly. 13. Click **View all application logs**. The trace log table appears in the Azure storage table viewer. (If you get a «sequence contains no elements» error, open **Server Explorer**, expand the node for your storage account under the **Azure** node, and then right-click **Tables** and click **Refresh**.) ![Storage logs in table view](./media/web-sites-dotnet-troubleshoot-visual-studio/tws-tracelogtableview.png) This view shows additional fields you don’t see in any other views. This view also enables you to filter logs by using special Query Builder UI for constructing a query. For more information, see Working with Table Resources — Filtering Entities in [Browsing Storage Resources with Server Explorer](https://msdn.microsoft.com/library/ff683677.aspx). 14. To look at the details for a single row, double-click one of the rows. ![Trace table in Server Explorer](./media/web-sites-dotnet-troubleshoot-visual-studio/tws-tracetablerow.png) —>

View failed request tracing logs

Failed request tracing logs are useful when you need to understand the details of how IIS is handling an HTTP request, in scenarios such as URL rewriting or authentication problems.

App Service apps use the same failed request tracing functionality that has been available with IIS 7.0 and later. You don’t have access to the IIS settings that configure which errors get logged, however. When you enable failed request tracing, all errors are captured.

You can enable failed request tracing by using Visual Studio, but you can’t view them in Visual Studio. These logs are XML files. The streaming log service only monitors files that are deemed readable in plain text mode: .txt, .html, and .log files.

You can view failed request tracing logs in a browser directly via FTP or locally after using an FTP tool to download them to your local computer. In this section, you’ll view them in a browser directly.

In the Configuration tab of the Azure Web App window that you opened from Server Explorer, change Failed Request Tracing to On, and then click Save.

In the address bar of the browser window that shows the app, add an extra character to the URL and click Enter to cause a 404 error.

This causes a failed request tracing log to be created, and the following steps show how to view or download the log.

In Visual Studio, in the Configuration tab of the Azure Web App window, click Open in Management Portal.

In the Azure portal Settings page for your app, click Deployment credentials, and then enter a new user name and password.

When you log in, you have to use the full user name with the app name prefixed to it. For example, if you enter «myid» as a user name and the site is «myexample», you log in as «myexamplemyid».

In a new browser window, go to the URL that is shown under FTP hostname or FTPS hostname in the Overview page for your app.

Sign in using the FTP credentials that you created earlier (including the app name prefix for the user name).

The browser shows the root folder of the app.

Open the LogFiles folder.

Open the folder that is named W3SVC plus a numeric value.

The folder contains XML files for any errors that have been logged after you enabled failed request tracing, and an XSL file that a browser can use to format the XML.

Click the XML file for the failed request that you want to see tracing information for.

The following illustration shows part of the tracing information for a sample error.

Next Steps

You’ve seen how Visual Studio makes it easy to view logs created by an App Service app. The following sections provide links to more resources on related topics:

  • App Service troubleshooting
  • Debugging in Visual Studio
  • Remote debugging in Azure
  • Tracing in ASP.NET applications
  • Analyzing web server logs
  • Analyzing failed request tracing logs
  • Debugging Cloud Services

App Service troubleshooting

For more information about troubleshooting apps in Azure App Service, see the following resources:

For help with a specific troubleshooting question, start a thread in one of the following forums:

Debugging in Visual Studio

For more information about how to use debug mode in Visual Studio, see Debugging in Visual Studio and Debugging Tips with Visual Studio 2010.

Remote debugging in Azure

For more information about remote debugging for App Service apps and WebJobs, see the following resources:

If your app uses an Azure Web API or Mobile Services back-end and you need to debug that, see Debugging .NET Backend in Visual Studio.

Tracing in ASP.NET applications

There are no thorough and up-to-date introductions to ASP.NET tracing available on the Internet. The best you can do is get started with old introductory materials written for Web Forms because MVC didn’t exist yet, and supplement that with newer blog posts that focus on specific issues. Some good places to start are the following resources:

Monitoring and Telemetry (Building Real-World Cloud Apps with Azure).
E-book chapter with recommendations for tracing in Azure cloud applications.

ASP.NET Tracing
Old but still a good resource for a basic introduction to the subject.

Trace Listeners
Information about trace listeners but doesn’t mention the WebPageTraceListener.

Walkthrough: Integrating ASP.NET Tracing with System.Diagnostics Tracing
This article is also old, but includes some additional information that the introductory article doesn’t cover.

Tracing in ASP.NET MVC Razor Views
Besides tracing in Razor views, the post also explains how to create an error filter in order to log all unhandled exceptions in an MVC application. For information about how to log all unhandled exceptions in a Web Forms application, see the Global.asax example in Complete Example for Error Handlers on MSDN. In either MVC or Web Forms, if you want to log certain exceptions but let the default framework handling take effect for them, you can catch and rethrow as in the following example:

Streaming Diagnostics Trace Logging from the Azure Command Line (plus Glimpse!)
How to use the command line to do what this tutorial shows how to do in Visual Studio. Glimpse is a tool for debugging ASP.NET applications.

For error logging, an alternative to writing your own tracing code is to use an open-source logging framework such as ELMAH. For more information, see Scott Hanselman’s blog posts about ELMAH.

Also, you don’t need to use ASP.NET or System.Diagnostics tracing to get streaming logs from Azure. The App Service app streaming log service streams any .txt, .html, or .log file that it finds in the LogFiles folder. Therefore, you could create your own logging system that writes to the file system of the app, and your file is automatically streamed and downloaded. All you have to do is write application code that creates files in the d:homelogfiles folder.

Analyzing web server logs

For more information about analyzing web server logs, see the following resources:

Analyzing failed request tracing logs

The Microsoft TechNet website includes a Using Failed Request Tracing section, which may be helpful for understanding how to use these logs. However, this documentation focuses mainly on configuring failed request tracing in IIS, which you can’t do in Azure App Service.

Источник

title description ms.assetid ms.devlang ms.topic ms.date ms.custom ms.openlocfilehash ms.sourcegitcommit ms.translationtype ms.contentlocale ms.lasthandoff ms.locfileid

Устранение неполадок с помощью Visual Studio

Узнайте, как устранять неполадки в работе приложения Cлужбы приложений с помощью удаленной отладки, трассировки и средств ведения журналов, которые встроены в Visual Studio 2013.

def8e481-7803-4371-aa55-64025d116c97

dotnet

article

08/29/2016

devx-track-csharp, seodec18

65eb4e8fefb74219c927fe507baceca7c55462be

910a1a38711966cb171050db245fc3b22abc8c5f

MT

ru-RU

03/20/2021

101095715

Обзор

В этом руководстве показано, как использовать инструменты Visual Studio, которые позволяют отлаживать работу приложения в Cлужбе приложений путем запуска приложения удаленно в режиме отладки или путем просмотра журналов приложения и журналов веб-сервера.

Вы узнаете:

  • Какие функции управления приложением доступны в среде Visual Studio.
  • Как использовать удаленное представление Visual Studio для быстрого изменения удаленного приложения.
  • Как удаленно запустить режим отладки для приложения и веб-задания, если проект запущен в Azure.
  • Как создать журналы трассировки приложения и просматривать их непосредственно во время создания.
  • Как просматривать журналы веб-сервера, включая подробные сообщения об ошибках и трассировку неудачно завершившихся запросов.
  • Как отправлять диагностические журналы в учетную запись хранения Azure и просматривать их там.

Если у вас установлена Visual Studio Ultimate, вы также можете использовать IntelliTrace для отладки. Использование IntelliTrace не рассматривается в этом учебнике.

Предварительные требования

В этом руководстве речь идет о среде разработки, веб-проекте и Службе приложений, которые вы настроили, следуя инструкциям статьи Создание веб-приложения ASP.NET Framework в Azure. Для разделов, посвященных веб-заданиям, вам понадобится приложение, созданное при изучении руководства Начало работы с пакетом SDK для Azure для веб-заданий.

В этом учебнике приводятся примеры кода для веб-приложения C# MVC, однако в приложениях Visual Basic и веб-форм применяются те же процедуры устранения неполадок.

В учебнике предполагается, что вы используете Visual Studio 2019.

Журналы потоковой передачи работают только для приложений, которые предназначены для .NET Framework 4 и выше.

Настройка приложения и управление им

Visual Studio обеспечивает доступ к сокращенному набору функций управления приложением и параметров конфигурации, полный набор которых доступен на портале Azure. В этом разделе вы узнаете, какие функции доступны с помощью обозревателя сервера. Для просмотра новых функций интеграции Azure также воспользуйтесь Обозревателем облака . Оба окна можно открыть в меню Вид .

  1. Если вы еще не вошли в Azure в Visual Studio, щелкните правой кнопкой мыши Azure и выберите подключение к подписке Microsoft Azure в обозревателе сервера.

    Также вы можете установить сертификат управления, обеспечивающий доступ к вашей учетной записи. Чтобы установить сертификат, щелкните правой кнопкой мыши узел Azure в обозревателе сервера и выберите Управление подписками и их фильтрация в контекстном меню. В диалоговом окне Управление подписками Microsoft Azure откройте вкладку Сертификаты, а затем щелкните Импорт. Следуя указаниям, загрузите и импортируйте файл подписки (файл .publishsettings ) для своей учетной записи Azure.

    [!NOTE]
    Если вы скачиваете файл подписки, сохраните его в папку, не входящую в структуру каталогов с исходными кодами (например, в папку «Загрузки»), а затем удалите его сразу после завершения импорта. Злоумышленник, получивший доступ к файлу подписки, сможет изменять, создавать и удалять ваши службы Azure.

    Дополнительные сведения о подключении к ресурсам Azure из Visual Studio см. в статье назначение ролей Azure с помощью портал Azure.

  2. В обозревателе сервера разверните узел Azure, а затем — узел Служба приложений.

  3. Разверните группу ресурсов, которая содержит приложение ASP.NET, созданное в Службе приложений Azure, а затем щелкните узел этого приложения правой кнопкой мыши и выберите Просмотреть параметры.

    Просмотр параметров в обозревателе сервера

    Появится вкладка Веб-приложение Azure, где можно просмотреть задачи по управлению и конфигурации, доступные в Visual Studio.

    Окно веб-приложений Azure

    В этом руководстве используются раскрывающиеся списки ведения журналов и трассировки. Для удаленной отладки вы будете использовать другой метод.

    Сведения о полях параметры приложения и строки подключения в этом окне см. в разделе служба приложений Azure: как работают строки приложения и строки подключения.

    Если необходимо выполнить задачу по управлению приложением, которую невозможно выполнить в этом окне, щелкните Открыть на портале управления, чтобы открыть портал Azure в браузере.

Доступ к файлам приложения в обозревателе серверов

Как правило, при развертывании веб-проекта флагу customErrors в файле Web.config присваивается значение On или RemoteOnly, поэтому вы не видите сообщения о возникающих ошибках. В большинстве случаев при ошибке отображается страница следующего вида.

Ошибка сервера в приложении «/»:

:::image type=»content» source=»./media/web-sites-dotnet-troubleshoot-visual-studio/genericerror.png» alt-text=»Снимок экрана: ошибка сервера в приложении «/» в веб-браузере.»:::

Произошла ошибка:

:::image type=»content» source=»./media/web-sites-dotnet-troubleshoot-visual-studio/genericerror1.png» alt-text=»Снимок экрана, показывающий пример универсальной ошибки, возникающей в веб-браузере.»:::

Веб-сайту не удается отобразить страницу

:::image type=»content» source=»./media/web-sites-dotnet-troubleshoot-visual-studio/genericerror2.png» alt-text=»Снимок экрана, показывающий веб-сайт, не может отобразить ошибку страницы в веб-браузере.»:::

Подробное сообщение об ошибке, как правило, содержит полезные сведения для ее устранения. На предыдущих снимках экрана показано, как включить эту функцию. Для этого необходимо внести изменения в развернутый файл Web.config. Вы можете изменить файл Web.config в проекте и повторно развернуть проект либо создать преобразование Web.config и развернуть отладочную сборку. Однако вы можете значительно упростить этот процесс с помощью обозревателя решений, непосредственно просматривая и редактируя файлы на удаленном сайте с помощью функции удаленного представления.

  1. В обозревателе сервера разверните узлы Azure, Службу приложений и группу ресурсов, в которой расположено ваше приложение, а затем разверните узел приложения.

    Откроются узлы, обеспечивающие доступ к файлам содержимого и журналов приложения.

  2. Разверните узел Файлы и дважды щелкните файл Web.config .

    Открытие файла Web.config

    В Visual Studio откроется файл Web.config удаленного приложения, а в строке заголовка к его имени будет добавлено [Remote].

  3. Добавьте следующую строку в элемент system.web :

    <customErrors mode="Off"></customErrors>

    Изменение файла Web.config

  4. Обновите окно браузера, в котором отображается неинформативное сообщение. Вы увидите подробную информацию об ошибке, как в следующем примере:

    Подробные сведение об ошибке

    Для создания отображаемой ошибки в файл ViewsHomeIndex.cshtml была добавлена выделенная красным цветом строка.

Изменение файла Web.config — это пример упрощения устранения неполадок путем чтения и редактирования файлов в Службе приложений.

Удаленная отладка приложений

Если в подробном сообщении об ошибке содержится недостаточно сведений и вы не можете воспроизвести ошибку в локальной системе, попробуйте выполнить отладку в удаленном режиме. В этом режиме вы можете задавать точки останова, обращаться к памяти напрямую, осуществлять пошаговое выполнение кода и даже изменять путь кода.

Удаленная отладка не поддерживается в выпусках Visual Studio Express.

В этом разделе показано, как удаленно выполнить отладку с помощью проекта, созданного при изучении раздела Создание веб-приложения ASP.NET Framework в Azure.

  1. Откройте веб-проект, созданный после выполнения инструкций статьи Создание веб-приложения ASP.NET Framework в Azure.

  2. Откройте файл ControllersHomeController.cs.

  3. Удалите метод About() и вставьте вместо него следующий код.

    public ActionResult About()
    {
        string currentTime = DateTime.Now.ToLongTimeString();
        ViewBag.Message = "The current time is " + currentTime;
        return View();
    }
  4. Установите точку останова в ViewBag.Message строке.

  5. В Обозреватель решений щелкните правой кнопкой мыши проект и выберите команду опубликовать.

  6. Из раскрывающегося списка Профиль выберите профиль, который вы использовали при выполнении инструкций из статьи Создание веб-приложения ASP.NET Framework в Azure. Затем щелкните «Параметры».

  7. В диалоговом окне Публикация щелкните вкладку Параметры и измените значение Конфигурация на Отладка, затем щелкните Сохранить.

    Публикация в режиме отладки

  8. Нажмите кнопку Опубликовать. Когда завершится развертывание и откроется URL-адрес Azure вашего приложения, закройте браузер.

  9. В обозревателе сервера щелкните правой кнопкой мыши приложение и выберите Подключить отладчик.

    :::image type=»content» source=»./media/web-sites-dotnet-troubleshoot-visual-studio/tws-attachdebugger.png» alt-text=»Снимок экрана обозреватель сервера окна, в котором выбрано приложение, и нажмите кнопку присоединить отладчик.»:::

    В браузере автоматически откроется ваша главная страница, размещенная в Azure. Возможно, придется подождать около 20 секунд, пока Azure настраивает сервер для отладки. Эта задержка возникает только при первом запуске приложения в режиме отладки в течение 48-часового периода. При повторном запуске отладки в рамках того же периода времени задержки не будет.

    [!NOTE]
    При возникновении сложностей с запуском отладчика попробуйте сделать это с помощью Cloud Explorer, а не обозревателя сервера.

  10. Выберите пункт О программе в меню.

    Visual Studio прерывается в точке останова, при этом код выполняется в Azure, а не на локальном компьютере.

  11. Наведите указатель мыши на переменную currentTime , чтобы просмотреть значение времени.

    Просмотр переменной в режиме отладки в Azure

    Время, которое отображается здесь, является временем сервера Azure, который может находиться в другом часовом поясе, отличном от часового пояса локального компьютера.

  12. Введите новое значение переменной currentTime , например «Теперь выполняется в Azure».

  13. Нажмите клавишу F5, чтобы продолжить работу.

    На странице «О программе» в Azure отображается новое значение, введенное в переменной currentTime.

    Страница "О программе" с новым значением

Удаленная отладка веб-заданий

В этом разделе демонстрируется удаленная отладка с использованием проекта и приложения, созданного на этапе Начало работы с пакетом SDK веб-заданий Azure.

Функции, приведенные в этом разделе, доступны только в Visual Studio 2013 с обновлением 4 или более поздней версии.

Удаленная отладка работает только с непрерывными веб-заданиями. Веб-задания по расписанию и по требованию не поддерживают отладку.

  1. Откройте веб-проект, созданный в разделе Информация о пакете SDK веб-заданий.

  2. В проекте ContosoAdsWebJob откройте Functions.cs.

  3. Установите точку останова в первом операторе метода GnerateThumbnail.

    Задание точки останова

  4. В обозревателе решений щелкните правой кнопкой мыши веб-проект (не проект веб-задания) и выберите Опубликовать.

  5. В раскрывающемся списке Профиль выберите тот же профиль, который вы использовали в учебнике Приступая к работе с пакетом SDK для веб-заданий Azure.

  6. Щелкните вкладку Параметры и измените значение Конфигурация на Отладка, затем щелкните Опубликовать.

    Visual Studio развертывает веб-проекты и проекты веб-заданий и открывает в браузере URL-адрес Azure вашего приложения.

  7. В Обозревателе решений разверните узлы Azure > Служба приложений > ваша группа ресурсов > ваше приложение > Веб-задания > Непрерывное, а затем щелкните правой кнопкой мыши ContosoAdsWebJob.

  8. Щелкните Подключить отладчик.

    :::image type=»content» source=»./media/web-sites-dotnet-troubleshoot-visual-studio/wjattach.png» alt-text=»Снимок экрана обозреватель сервера, в котором отображается ContosoAdsWebJob, выбранный в раскрывающемся меню, и выбран параметр «присоединить отладчик».»:::

    В браузере автоматически откроется ваша главная страница, размещенная в Azure. Возможно, придется подождать около 20 секунд, пока Azure настраивает сервер для отладки. Эта задержка возникает только при первом запуске приложения в режиме отладки в течение 48-часового периода. При повторном запуске отладки в рамках того же периода времени задержки не будет.

  9. В веб-браузере на главной странице Contoso Ads создайте новое объявление.

    Создание рекламы приводит к созданию сообщения очереди, которое забирается и обрабатывается веб-заданиями. Когда пакет SDK веб-заданий вызывает функцию для обработки сообщения очереди, выполнение кода прерывается в точке останова.

  10. Когда отладчик останавливается в точке останова, вы можете проверить и изменить значения переменных, пока программа выполняется в облаке. На следующем рисунке отладчик показывает содержимое объекта blobInfo, который был передан в метод GenerateThumbnail.

    Объект blobInfo в отладчике

  11. Нажмите клавишу F5, чтобы продолжить работу.

    Метод GenerateThumbnail завершает создание эскиза.

  12. В браузере обновите страницу индекса и посмотрите эскиз.

  13. В Visual Studio нажмите сочетание клавиш SHIFT+F5, чтобы остановить отладку.

  14. В обозревателе сервера щелкните правой кнопкой мыши узел ContosoAdsWebJob и щелкните Просмотреть панель мониторинга.

  15. Выполните вход с использованием ваших учетных данных Azure и щелкните имя веб-задания, чтобы перейти к странице вашего веб-задания.

    Щелкните ContosoAdsWebJob

    Панель мониторинга показывает, что недавно была выполнена функция GenerateThumbnail.

    (В следующий раз при нажатии кнопки Представление панели мониторинга не нужно выполнять вход, браузер перейдет непосредственно на страницу вашего веб-задания.)

  16. Щелкните имя функции для просмотра подробных сведений о выполнении функции.

    Сведения о функции

Если функция записала журналы, для их просмотра щелкните пункт ToggleOutput .

Примечания о режиме удаленной отладки

  • В рабочей среде выполнение в режиме отладки не рекомендуется. Если ваше рабочее приложение не развернуто на несколько экземпляров сервера, то веб-сервер во время отладки не сможет отвечать на запросы от других приложений. Если имеется несколько экземпляров веб-сервера, то при подключении отладчика будет использован случайно выбранный экземпляр и не будет никакой возможности гарантировать, что последующие запросы браузера будут передаваться в тот же самый экземпляр. Кроме того, как правило, отладочная сборка не развертывается в производственной среде, а оптимизации компилятора для разворачиваемых сборок делают невозможным построковое отображения действий в исходном коде. Для устранения неполадок в рабочей среде лучше всего использовать журналы веб-сервера и трассировки приложения.

  • Во время удаленной отладки избегайте длинных остановок на точках останова. Azure обрабатывает процесс, остановленный дольше, чем на несколько минут, как процесс, не отвечающий на запросы, и закрывает его.

  • Во время отладки сервер отправляет данные в среду Visual Studio, что может повлиять на расходы, связанные с пропускной способностью. Сведения о тарифах на пропускную способность см. в разделе Цены на Azure.

  • Убедитесь, что атрибут debug элемента compilation в файле Web.config имеет значение true. По умолчанию при публикации отладочной конфигурации сборки для него задано значение true.

    <system.web>
      <compilation debug="true" targetFramework="4.5" />
      <httpRuntime targetFramework="4.5" />
    </system.web>
  • Если вы обнаружите, что отладчик не осуществляет пошаговое выполнение кода, который требуется отладить, может потребоваться изменить параметр «Только мой код». Дополнительные сведения см. в разделе Укажите, следует ли отладка пользовательского кода, с помощью «только мой код» в Visual Studio.

  • При активации функции удаленной отладки на сервере запускается таймер, который автоматически отключает эту функцию по истечении 48 часов. Это 48-часовое ограничение установлено в целях повышения безопасности и производительности. Вы можете в любое время снова активировать эту функцию. Если вы не ведете отладку, эту функцию рекомендуется оставить отключенной.

  • Вы можете вручную присоединить отладчик к любому процессу, а не только к процессу приложения (w3wp.exe). Дополнительные сведения о том, как использовать режим отладки в Visual Studio, см. в разделе Отладка в Visual Studio.

Обзор журналов диагностики

Приложение ASP.NET, которое работает в Службе приложений, может создавать следующие виды журналов.

  • Журналы трассировки приложения
    Приложение создает эти журналы, вызывая методы класса System.Diagnostics.Trace .
  • Журналы веб-сервера
    Веб-сервер создает запись журнала для каждого HTTP-запроса в приложение.
  • Подробные журналы сообщений об ошибках
    Веб-сервер создает страницу HTML с некоторой дополнительной информацией об ошибочных HTTP-запросах (это запросы, которые приводят к появлению кода состояния 400 и выше).
  • Журналы трассировки неудачно завершенных запросов
    Веб-сервер создает XML-файл с подробными сведениями трассировки ошибочных HTTP-запросов. Веб-сервер также предоставляет XSL-файл для форматирования XML-кода в браузере.

Ведение журнала влияет на производительность приложения, поэтому Azure предоставляет возможность при необходимости включить или отключить каждый тип журнала. Для журналов приложений можно указать, что следует писать только журналы с уровнем серьезности выше заданного. При создании нового приложения ведение журналов по умолчанию отключено.

Журналы записываются в файлы, содержащиеся в папке LogFiles файловой системы вашего приложения, и доступны через FTP. Журналы приложений и журналы веб-сервера также могут записываться в учетную запись хранения Azure. В учетной записи хранения можно держать больший объем журналов, чем в файловой системе. При использовании файловой системы на журналы отводится 100 мегабайтов. Журналы файловой системы хранятся в течение короткого срока. При достижении установленного ограничения Azure удаляет старые файлы журналов, чтобы освободить место под новые.

Создание и просмотр журналов трассировки приложения

В этом разделе вам нужно выполнить следующие задачи.

  • Добавление инструкций трассировки в веб-проект, созданный с помощью руководства по использованию Azure и ASP.NET.
  • Просмотр журналов при локальном выполнении проекта.
  • Просмотр журналов, создаваемых во время работы приложения в Azure.

Сведения о том, как создавать журналы приложений в веб-заданиях, см. в разделе Работа с хранилищем очередей Azure с помощью пакета SDK веб-заданий — создание записей в журналах. Следующие инструкции для просмотра журналов и управления их хранением в Azure также применяются для журналов приложений, созданных с помощью Azure.

Добавление инструкций трассировки в приложение

  1. Откройте ControllersHomeController.CS и замените Index About методы, и Contact следующим кодом, чтобы добавить Trace инструкции и using инструкцию для System.Diagnostics :

    public ActionResult Index()
    {
        Trace.WriteLine("Entering Index method");
        ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
        Trace.TraceInformation("Displaying the Index page at " + DateTime.Now.ToLongTimeString());
        Trace.WriteLine("Leaving Index method");
        return View();
    }
    
    public ActionResult About()
    {
        Trace.WriteLine("Entering About method");
        ViewBag.Message = "Your app description page.";
        Trace.TraceWarning("Transient error on the About page at " + DateTime.Now.ToShortTimeString());
        Trace.WriteLine("Leaving About method");
        return View();
    }
    
    public ActionResult Contact()
    {
        Trace.WriteLine("Entering Contact method");
        ViewBag.Message = "Your contact page.";
        Trace.TraceError("Fatal error on the Contact page at " + DateTime.Now.ToLongTimeString());
        Trace.WriteLine("Leaving Contact method");
        return View();
    }        
  2. Добавьте в начало файла инструкцию using System.Diagnostics; .

Просмотр результатов трассировки локально

  1. Нажмите F5, чтобы выполнить приложение в режиме отладки.

    Прослушиватель трассировки по умолчанию записывает весь вывод трассировки в окно Вывод вместе со всем остальным выводом отладки. На следующем рисунке показан вывод инструкций трассировки, добавленных в метод Index .

    Трассировка в окне отладки

    Ниже показано, как просмотреть выходные данные трассировки на веб-странице без компиляции в режиме отладки.

  2. Откройте файл Web.config приложения (находится в папке проекта) и добавьте элемент <system.diagnostics> в конец файла непосредственно перед закрывающим элементом </configuration>:

    <system.diagnostics>
    <trace>
      <listeners>
        <add name="WebPageTraceListener"
            type="System.Web.WebPageTraceListener,
            System.Web,
            Version=4.0.0.0,
            Culture=neutral,
            PublicKeyToken=b03f5f7f11d50a3a" />
      </listeners>
    </trace>
    </system.diagnostics>

WebPageTraceListener позволяет просматривать результаты трассировки, открыв /trace.axd.

  1. Добавьте элемент трассировки под <system.web> в файле Web.config, например так:

    <trace enabled="true" writeToDiagnosticsTrace="true" mostRecent="true" pageOutput="false" />
  2. Для запуска приложения нажмите сочетание клавиш CTRL+F5.

  3. В адресной строке окна браузера добавьте Trace. axd к URL-адресу и нажмите клавишу ВВОД (URL-адрес похож на http://localhost:53370/trace.axd ).

  4. На странице Трассировка приложения щелкните Просмотр сведений в первой строке (не в строке BrowserLink).

    :::image type=»content» source=»./media/web-sites-dotnet-troubleshoot-visual-studio/tws-traceaxd1.png» alt-text=»Снимок экрана: страница «трассировка приложения» в веб-браузере, в которой отображаются сведения о представлении, выбранные в первой строке.»:::

    Откроется страница Сведения о запросе, где в разделе Сведения о трассировке отображаются выходные данные инструкций трассировки, добавленных в метод Index.

    :::image type=»content» source=»./media/web-sites-dotnet-troubleshoot-visual-studio/tws-traceaxd2.png» alt-text=»Снимок экрана страницы сведений о запросе в веб-браузере, в котором отображается сообщение, выделенное в разделе «сведения о трассировке».»:::

    По умолчанию trace.axd доступен только локально. Если он должен быть доступен также в удаленном приложении, можно добавить строку localOnly="false" в элемент trace файла Web.config, как показано в следующем примере.

    <trace enabled="true" writeToDiagnosticsTrace="true" localOnly="false" mostRecent="true" pageOutput="false" />

    Тем не менее включение trace.axd в рабочем приложении не рекомендуется по соображениям безопасности. В следующих разделах вы изучите более простой способ чтения журналов трассировки в приложении Службы приложений.

Просмотр результатов трассировки в Azure

  1. В обозревателе решений щелкните правой кнопкой веб-проект и выберите Опубликовать.

  2. В диалоговом окне Публикация веб-сайта щелкните Опубликовать.

    После того как Visual Studio опубликует обновление, главная страница откроется в окне браузера (если не снят флажок URL-адрес назначения на вкладке Подключение).

  3. В обозревателе сервера щелкните правой кнопкой мыши приложение и выберите Просмотр журналов потоковой передачи.

    :::image type=»content» source=»./media/web-sites-dotnet-troubleshoot-visual-studio/tws-viewlogsmenu.png» alt-text=»Снимок экрана обозреватель сервера после щелчка приложения правой кнопкой мыши с отображением журналов потоковой передачи, выбранных в новом окне.»:::

    В окне Вывод показано, что вы подключены к службе потоковой передачи журналов; каждую минуту, когда отсутствует журнал для отображения, появляется строка уведомления.

    :::image type=»content» source=»./media/web-sites-dotnet-troubleshoot-visual-studio/tws-nologsyet.png» alt-text=»Снимок экрана: окно вывода с примером подключения к службе потоковой передачи журналов со строками уведомления.»:::

  4. В окне браузера с открытой главной страницей щелкните пункт Contact.

    Через несколько секунд в окне ContactВывод появятся результаты трассировки уровня ошибки, добавленные в метод.

    Трассировка ошибок в окне вывода

    Visual Studio отображает только трассировки уровня ошибок, так как это настройка выставляется по умолчанию при включении службы мониторинга журналов. При создании нового приложения Службы приложений ведение всех журналов по умолчанию отключено. Вы могли убедиться в этом ранее при открытии страницы параметров сайта.

    Выключение ведение журнала приложения

    Однако при выборе Просмотр журналов потоковой передачи Visual Studio автоматически изменяет значение параметра Ведение журнала приложений (файловая система) на Ошибка, что означает представление только журналов уровня ошибок. Чтобы просмотреть все журналы трассировки, следует изменить значение этого параметра на Подробно. Если выбран уровень серьезности меньше уровня ошибок, начинают предоставляться и все журналы с более высокими уровнями серьезности. Поэтому при выборе подробного уровня вы также сможете просматривать журналы информационных сообщений, предупреждений и ошибок.

  5. В обозревателе сервера щелкните правой кнопкой мыши приложение, затем щелкните Просмотреть параметры, как и раньше.

  6. Измените значение параметра Ведение журнала приложения (файловая система) на Подробно, затем нажмите кнопку Сохранить.

    Уровень трассировки "Подробно"

  7. В окне браузера, в котором теперь отображается страница Contact (Контактная информация), щелкните Home (Главная), затем About (О программе) и щелкните Contact (Контактная информация).

    Через несколько секунд в окне Вывод появятся все результаты трассировки.

    Подробные результаты трассировки

    В этом разделе вы включили и отключили ведение журналов с помощью параметров приложения. Можно также включить и отключить прослушиватели трассировки, изменив содержимое файла Web.config. Но изменение файла Web.config приводит к перезапуску домена приложения, тогда как включение ведения журналов через настройку приложения не приводит к таким результатам. Если воспроизведение проблемы занимает много времени или проблема возникает только периодически, перезапуск домена приложения может устранить неполадку, так что вам придется ждать следующего ее возникновения. Включение диагностики в Azure позволяет незамедлительно начать сбор сведений об ошибках, не перезапуская домен приложения.

Функции окна вывода

На вкладке Журналы Microsoft Azure окна Вывод расположены несколько кнопок и текстовое поле.

:::image type=»content» source=»./media/web-sites-dotnet-troubleshoot-visual-studio/tws-icons.png» alt-text=»Снимок экрана, показывающий кнопки и текстовое поле на вкладке «журналы Microsoft Azure» в окне вывода.»:::

Служат для выполнения следующих функций:

  • Очистка окна Вывод .
  • Включение или отключение переноса слов.
  • Запуск или остановка журналов мониторинга.
  • Определение журналов мониторинга.
  • Скачивание журналов.
  • Фильтрация журналов на основе регулярного выражения или строки поиска.
  • Закрытие окна Вывод .

Если ввести строку поиска или регулярное выражение, Visual Studio фильтрует сведения в журналах на стороне клиента. Это означает, что можно ввести критерии после отображения журналов в окне Вывод , а также изменить критерии фильтрации без необходимости повторного создания журналов.

Просмотр журналов веб-сервера

Журналы веб-сервера регистрируют все действия по протоколу HTTP в приложении. Чтобы увидеть их в окне Вывод, включите их в приложении и укажите Visual Studio отслеживать их.

  1. На вкладке Конфигурация веб-приложения Azure, открытой в обозревателе сервера, измените значение параметра «Ведение журналов веб-сервера» на Включено и нажмите кнопку Сохранить.

    Включение ведения журналов веб-сервера

  2. В окне Вывод нажмите кнопку Выбор журналов Microsoft Azure для мониторинга.

    Укажите, какие журналы Azure отслеживать

  3. В диалоговом окне Параметры ведения журнала Microsoft Azure выберите Журналы веб-сервера и нажмите кнопку ОК.

    Мониторинг журналов веб-сервера

  4. В окне браузера, в котором отображается приложение, щелкните Home (Главная), затем About (О программе) и Contact (Контактная информация).

    Как правило, первыми отображаются журналы приложений, за которыми следуют журналы веб-сервера. Подождите некоторое время, чтобы дождаться отображения журналов.

    Журналы веб-сервера в окне вывода

По умолчанию при первом включении журналов веб-сервера с помощью Visual Studio Azure записывает журналы в файловой системе. В качестве альтернативы на портале Azure можно указать, что журналы веб-сервера должны записываться в контейнер больших двоичных объектов в учетной записи хранения.

Если включить ведение журналов веб-сервера для учетной записи хранения Azure с помощью портала, а затем отключить ведение журналов в Visual Studio, то при повторном включении ведения журналов в Visual Studio восстанавливаются параметры учетной записи хранения.

Просмотр подробных журналов сообщений об ошибках

Подробные журналы сообщений об ошибках представляют некоторые дополнительные сведения о HTTP-запросах, которые завершаются с кодом ошибки (400 или выше). Чтобы увидеть их в окне Вывод, включите их в приложении и дайте команду Visual Studio отслеживать их.

  1. На вкладке Конфигурация веб-приложения Azure, открытой в обозревателе сервера, измените значение параметра Подробные сообщения об ошибках на Включено, затем нажмите кнопку Сохранить.

    Включение подробных сообщений об ошибках

  2. В окне Вывод нажмите кнопку Выбор журналов Microsoft Azure для мониторинга.

  3. В диалоговом окне Параметры ведения журнала Microsoft Azure выберите Все журналы и нажмите кнопку ОК.

    Отслеживание всех журналов

  4. В адресной строке окна браузера добавьте дополнительный символ в URL-адрес, чтобы вызвать ошибку 404 (например, http://localhost:53370/Home/Contactx), и нажмите клавишу «ВВОД».

    После нескольких секунд в окне Visual Studio Вывод появится подробный журнал ошибок.

    Подробный журнал ошибок в окне "Вывод"

    Щелкните ссылку, удерживая нажатой клавишу CTRL, чтобы просмотреть форматированные выходные данные журнала в браузере:

    Подробный журнал ошибок в окне браузера

Загрузка журналов файловой системы

Все журналы, которые можно отслеживать в окне Вывод , также можно загрузить в виде файла ZIP .

  1. В окне Вывод щелкните Загрузить журналы потоковой передачи.

    :::image type=»content» source=»./media/web-sites-dotnet-troubleshoot-visual-studio/tws-downloadicon.png» alt-text=»Снимок экрана: окно вывода с выделенной кнопкой «скачать журналы потоковой передачи».»:::

    В проводнике открывается папка Загрузки с выбранным загруженным файлом.

    :::image type=»content» source=»./media/web-sites-dotnet-troubleshoot-visual-studio/tws-downloadedfile.png» alt-text=»Снимок экрана папки «загрузки» в проводнике с выбранным загруженным файлом.»:::

  2. Извлеките содержимое ZIP -файла, чтобы увидеть структуру папки, аналогичную следующей:

    :::image type=»content» source=»./media/web-sites-dotnet-troubleshoot-visual-studio/tws-logfilefolders.png» alt-text=»Снимок экрана со структурой папки ZIP-файла после извлечения файла.»:::

    • Журналы трассировки приложения хранятся в TXT-файлах в папке LogFilesApplication.

    • Журналы веб-сервера хранятся в LOG-файлах в папке LogFileshttpRawLogs. Можно использовать средство, аналогичное Log Parser для просмотра и обработки этих файлов.

    • Подробные журналы сообщений об ошибках хранятся в HTML-файлах в папке LogFilesDetailedErrors.

      (Папка deployments предназначена для файлов, созданных при публикации системы управления версиями; она никак не связана с публикациями Visual Studio. Папка Git предназначена для трассировок, относящихся к публикациям системы управления версиями и службы потоковой передачи файлов журналов.)

Просмотр журналов неудачно завершенных запросов

Журналы трассировки неудачно завершенных запросов полезны при просмотре подробных сведений по обработке IIS HTTP-запроса в таких сценариях, как перезапись URL-адреса, или при возникновении проблем, связанных с проблемами проверки подлинности.

Приложения Службы приложений используют те же функциональные возможности трассировки неудачно завершенных запросов, которые доступны в IIS, начиная с версии 7.0. Однако у вас нет доступа к параметрам IIS, которые определяют, какие ошибки будут регистрироваться. При включении трассировки неудачно завершенных запросов захватываются все ошибки.

Можно включить трассировку неудачно завершенных запросов с помощью Visual Studio, однако эту трассировку невозможно просмотреть в Visual Studio. Эти журналы представляют собой XML-файлы. Служба потоковой передачи журналов только отслеживает файлы, которые могут быть прочтены в режиме обычного текста: это TXT-, HTML— и LOG-файлы.

Журналы трассировки неудачно завершенных запросов можно просматривать напрямую в браузере через FTP или локально после загрузки их на локальный компьютер с помощью средства для работы с FTP. В этом разделе они будут просматриваться непосредственно в браузере.

  1. На вкладке Конфигурация окна Веб-приложение Azure, открытого в обозревателе сервера, измените значение параметра Трассировка неудачно завершенных запросов на Включено, затем нажмите кнопку Сохранить.

    Включение трассировки неудачно завершенных запросов

  2. В адресной строке окна браузера, в котором отображается приложение, добавьте дополнительный символ в URL-адрес, чтобы вызвать ошибку 404, и нажмите клавишу «ВВОД».

    Это приведет к созданию журнала трассировки неудачно завершенных запросов. Ниже приведены действия, демонстрирующие, как просмотреть или загрузить журнал.

  3. В Visual Studio на вкладке Конфигурация окна Веб-приложение Azure щелкните Открыть на портале управления.

  4. На портале Azure на странице Параметры приложения щелкните Учетные данные развертывания, а затем введите новое имя пользователя и пароль.

    Новое имя пользователя и пароль FTP

    [!NOTE]
    Для входа необходимо использовать полное имя пользователя с префиксом в виде имени приложения. Например, если ввести имя пользователя myid и сайт myexample, то полным именем будет myexamplemyid.

  5. В новом окне браузера перейдите по URL-адресу, показанному в поле Имя узла FTP или Имя узла FTPS на странице Обзор для вашего приложения.

  6. Выполните вход с использованием учетных данных FTP, созданных ранее (включая префикс имени приложения для имени пользователя).

    В браузере отображается корневая папка приложения.

  7. Откройте папку LogFiles.

    Откройте папку LogFiles

  8. Откройте папку с именем W3SVC плюс числовое значение.

    Откройте папку W3SVC

    Папка содержит XML-файлы, связанные с любыми ошибками, которые были зарегистрированы после включения трассировки неудачно завершенных запросов, а также XSL-файл, который может использоваться браузером для форматирования XML.

    Папка W3SVC

  9. Щелкните XML-файл, связанный с неудачно завершенным запросом, данные трассировки которого необходимо просмотреть.

    На следующем рисунке показана часть сведений трассировки примерной ошибки.

    Трассировка неудачно завершенных запросов в браузере

Дальнейшие действия

Вы видели, как Visual Studio позволяет легко просматривать журналы, созданные приложением Службы приложений. В следующих разделах содержатся ссылки на дополнительные ресурсы на связанные темы:

  • Устранение неполадок Службы приложений
  • Отладка в Visual Studio
  • Удаленная отладка в Azure
  • Трассировка в приложениях ASP.NET
  • Анализ журналов веб-сервера
  • Анализ журналов трассировки неудачно завершенных запросов
  • Отладка облачных служб

Устранение неполадок Службы приложений

Дополнительную информацию об устранении неполадок, связанных с приложениями в Службе приложений Azure, см. в следующих ресурсах:

  • Мониторинг приложений
  • Исследование проблемы утечки памяти в Службе приложений Azure с использованием Visual Studio 2013. Запись блога Microsoft ALM о функциях Visual Studio для анализа проблем с управляемой памятью.
  • Онлайн-инструменты Службы приложений Azure, о которых вам следует знать. Запись в блоге Амита Эппла (Amit Apple).

Справочные данные об определенном вопросе, связанном с устранением неполадок, можно получить, начав беседу на одном из следующих форумов:

  • Форум Azure на веб-сайте ASP.NET.
  • Форум Azure в Microsoft Q&а.
  • StackOverflow.com.

Отладка в Visual Studio

Дополнительные сведения об использовании режима отладки в Visual Studio см. в статьях Отладка в Visual Studio и Debugging Tips with Visual Studio 2010 (Рекомендации по отладке в Visual Studio 2010).

Удаленная отладка в Azure

Для получения дополнительных сведений об удаленной отладке для приложений Azure и веб-заданий см. следующие ресурсы:

  • Общие сведения об удаленной отладке Службы приложений Azure.
  • Общие сведения об удаленной отладке Службы приложений Azure (часть 2) — подробнее об удаленной отладке
  • Общие сведения об удаленной отладке Службы приложений Azure (часть 3) — среда с несколькими экземплярами и GIT
  • Отладка веб-заданий (видео)

Если в вашем приложении используется веб-API Azure или серверная часть мобильных служб, вы можете получить дополнительные сведения об отладке в разделе Отладка серверной части .NET в Visual Studio.

Трассировка в приложениях ASP.NET

В Интернете отсутствуют обновленные и подробные вводные данные по трассировке ASP.NET. Лучшее, что можно сделать, это начать со старых вводных материалов, написанных для Web Forms, так как тогда MVC еще не существовало. А также дополнить эти сведения новыми постами из блогов, посвященных тем или иным конкретным вопросам. Можно также продуктивно начать изучение со следующих ресурсов:

  • Мониторинг и телеметрия (создание реальных облачных приложений в Azure).
    Глава электронной книги с рекомендациями по трассировке в облачных приложениях Azure.

  • Трассировка ASP.NET
    Старый, но по-прежнему хороший ресурс для введения в тему.

  • Прослушиватели трассировки
    Сведения о прослушивателях трассировки, но без упоминания WebPageTraceListener.

  • Пошаговое руководство: интеграция трассировки ASP.NET с трассировкой System.Diagnostics
    Это также старая статья, которая, однако, содержит некоторые дополнительные сведения, которые не освещаются во вводной статье.

  • Трассировка в представлениях ASP.NET MVC Razor
    Помимо трассировки в представлениях Razor, в этом посте также описывается, как создать фильтр ошибок, чтобы регистрировать все необработанные исключения в приложении MVC. Сведения о записи в журнал всех необработанных исключений в приложении Web Forms представлены в примере Global.asax в разделе Полный пример для обработчиков ошибок на сайте MSDN. Если в MVC или Web Forms понадобится зарегистрировать определенные исключения, но позволить платформе их обрабатывать, можно перехватить и повторно создать элементы, как показано на следующем примере:

    try
    {
       // Your code that might cause an exception to be thrown.
    }
    catch (Exception ex)
    {
        Trace.TraceError("Exception: " + ex.ToString());
        throw;
    }
  • Потоковая передача диагностических журналов трассировки из командной строки Azure (включая Glimpse!)
    Как использовать командную строку, чтобы сделать все, что показано в этом руководстве на примере Visual Studio. Glimpse – это средство для отладки приложений ASP.NET.

  • Использование функций диагностики и ведения журнала для веб-приложений с Дэвидом Эббо (David Ebbo) и Потоковая передача журналов из веб-приложений с Дэвидом Эббо (David Ebbo)
    Авторы видео: Скотт Хансельман (Scott Hanselman) и Дэвид Эббо (David Ebbo).

Для ведения журнала ошибок вместо написания своего кода трассировки можно использовать платформу ведения журналов с открытым кодом, например ELMAH. Дополнительные сведения см. в записях блога Скотта Хансельмана (Scott Hanselman), посвященных ELMAH.

Кроме того, не нужно использовать ASP.NET или трассировку System.Diagnostics, чтобы получить журналы потоковой передачи из Azure. Служба потоковой передачи журналов приложения Службы приложений будет передавать любые .txt-, .html— или .log-файлы, которые будут найдены в папке LogFiles. Поэтому можно создать собственную систему ведения журнала, которая записывает данные в файловую систему приложения, а файлы будут автоматически передаваться и скачиваться. Все, что нужно сделать, — это написать код приложения, который создает файлы в папке d:homelogfiles.

Анализ журналов веб-сервера

Дополнительные сведения об анализе журналов веб-сервера см. на следующих ресурсах:

  • LogParser
    Инструмент для просмотра данных в журналах веб-сервера (LOG -файлов).
  • Устранение проблем производительности IIS или ошибок приложений с помощью LogParser
    Введение в средство LogParser, которое можно использовать для анализа журналов веб-сервера.
  • Записи блога Роберта Мак-Мюррея (Robert McMurray), посвященные использованию LogParser
  • Код состояния HTTP в IIS 7.0, IIS 7.5 и IIS 8.0

Анализ журналов трассировки неудачно завершенных запросов

На веб-сайте Microsoft TechNet имеется раздел Использование трассировки неудачно завершенных запросов , который может быть полезен для понимания того, как использовать эти журналы. Но эта документация посвящена преимущественно настройке трассировки неудачно завершенных запросов в IIS, которую невозможно выполнить в Службе приложений Azure.

  • Remove From My Forums
  • Question

  • User255302 posted

    I am using Visual Studio Professional 2015 for Xamarin development and it has an annoying habit of restarting at random intervals, anywhere from every minute to once or twice a day.

    I’ve reinstalled Visual Studio twice, had it repair itself, and reset all visual studio settings with no result.

    Is there a way to determine exactly what is causing Visual Studio to crash/restart?

Answers

  • User78018 posted

    You might have to poke around your user app data folders but for me there are some log files in.

    C:Users<UserName>AppDataLocalXamarinLogs14.0

    • Marked as answer by

      Thursday, June 3, 2021 12:00 AM

To determine issues in the Visual Studio, please collect additional information. Enable logging with the steps below:

  1. Close Visual Studio first.
  2. Start Visual Studio (devenv.exe) with /Log parameter. You can press Start+R and then enter the command below for Visual Studio 2019 Enterprise. Change the path to devenv.exe depending on the actual Visual Studio version.

    Visual Studio 2022 Enterprise:

    "C:Program FilesMicrosoft Visual Studio2022EnterpriseCommon7IDEdevenv.exe" /Log

    Visual Studio 2019 Enterprise:

    "C:Program Files (x86)Microsoft Visual Studio2019EnterpriseCommon7IDEdevenv.exe" /Log
  3. Replicate the issue and close Visual Studio
  4. The log file will be found in %AppData%MicrosoftVisualStudio, under a subdirectory (*). You can press Start+R and enter the path into the window.
  5. E-mail us your ActivityLog.xml file so we can try to find possible issues.

Note (*): The subdirectories with the version of your Visual Studio

  • 17.0_xxxxxxxx for Visual Studio 2022
  • 16.0_xxxxxxxx for Visual Studio 2019
  • 15.0 for Visual Studio 2017
  • 14.0 for Visual Studio 2015
  • 12.0 for Visual Studio 2013
  • 11.0 for Visual Studio 2012
  • 10.0 for Visual Studio 2010

Возможно, вам также будет интересно:

  • Visual studio scanf ошибка
  • Visual studio just in time debugger ошибка как исправить
  • Visual studio installer произошла неизвестная ошибка приносим свои извинения windows 7
  • Visual studio installer ошибка при установке
  • Visual studio community ошибка при установке

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии