Skip to content

Commit 6df3e0b

Browse files
committed
Refactor into separate pages.
1 parent 575492e commit 6df3e0b

File tree

7 files changed

+57
-54
lines changed

7 files changed

+57
-54
lines changed

diagnostics/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Gathering Diagnostics and Logs
2+
This folder contains directions for gathering various detailed diagnostics/logs when reporting WV2-related issues. There's generally no need to proactively get any of these diagnostics before opening an issue, but if one seems obvious feel free to get it before opening an issue. Otherwise, a WV2 developer might link you to one of these pages to help them investigate an issue:
3+
4+
- [Crash Dumps](crash.md): Crash dumps are used to better understand why a WV2 process is crashing and firing a [ProcessFailed](https://learn.microsoft.com/dotnet/api/microsoft.web.webview2.core.corewebview2.processfailed) event.
5+
- [ETW Trace](etw.md): Event Tracing for Windows (ETW) traces include detailed events on system state and the activities WV2 was doing before and when an issue occurs.
6+
- [Installer Logs](install.md): Installer logs include information about any errors that WV2's installer/updater hit when trying to install or update the WV2 runtime.
7+
- [GPU Info](gpu.md): GPU logs include details on the user's GPU and any potential graphics or rendering issues.
8+
- [Network Logs](network.md): Network logs include the network requests, responses, and details on any errors when loading files.

diagnostics/crash.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Crash Dumps
2+
If a crash occurs, the dumps can usually be found in the app's user data folder:
3+
<code><user data folder>\EBWebView\Crashpad\reports</code>
4+
The <user data folder> is created in the app's folder by default:
5+
<code><app folder>\<app name>.exe.WebView2</code>
6+
But apps can specify different user data folders. If they do, they generally know where it is.

diagnostics/diagnostics.md

Lines changed: 0 additions & 54 deletions
This file was deleted.

diagnostics/etw.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Gathering an ETW Trace
2+
One of the best ways to help us understand when something is going wrong like failures to create WV2 or other unexpected behaviors is an [Event Tracing for Windows (ETW)](https://learn.microsoft.com/en-us/windows-hardware/test/wpt/event-tracing-for-windows) trace. This repo has a WV2 recording profile - [WebView2.wprp](WebView2.wprp) that includes the events that we find most useful.
3+
4+
ETW traces can get fairly large, so try to keep the amount of extra time spent when recording as small as possible. We also recommend closing any other apps using WV2 to make the trace more clear. Common apps using WV2 may include `widgets.exe`, `msteams.exe`, and Microsoft Office products.
5+
6+
To get an ETW trace:
7+
1. Download [WebView2.wprp](WebView2.wprp) from this repo.
8+
2. In an elevated command prompt run `wpr -start WebView2.wppr -filemode` (wpr.exe is included in Windows)
9+
3. Reproduce the issue.
10+
4. In an elevated command prompt run `wpr -stop trace.etl "trace"`.
11+
12+
ETW traces can contain sensitive information, if you're concerned with sharing one publicly in a GitHub issue, you can ask the WV2 developer you're working with for an email address to send to them privately.

diagnostics/gpu.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Graphics and GPU info
2+
Issues where the WebView2 isn't displaying anything are most often caused by a launch failure, such as un-writeable user data folder, mismatched DPI awareness, or missing files (runtime or binaries). However, if the WebView2 has launched correctly (you can check return values and task manager) but the content is not there, then it might be due to a hosting and/or GPU driver issue.
3+
1. Get the output of `edge://gpu` (wait for the page to load the 'log messages' section at the bottom).
4+
1. Get DirectX diagnostic info
5+
1. Run `dxdiag` from a console window
6+
1. Once the dialog displays and is done capturing info (small progress bar) hit the **Save All Information** button to save the info to a dxdiag.txt file
7+
1. Share the `dxdiag.txt` file
8+

diagnostics/install.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Installer / Setup Logs
2+
1. Export the EdgeUpdate Key to a reg file via regedit
3+
4+
`HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate`
5+
6+
2. Edge Update and installer logs
7+
8+
`C:\ProgramData\Microsoft\EdgeUpdate\Log\MicrosoftEdgeUpdate.log`
9+
`%localappdata%\Temp\MicrosoftEdgeUpdate.log`
10+
`C:\Windows\Temp\msedge_installer.log`
11+
12+
3. Grab all the files on disk for Edge - the below command will do the trick and create edgefiles.txt
13+
14+
`dir /s /b "c:\Program Files (x86)\Microsoft\EdgeWebView\" > edgefiles.txt`

diagnostics/network.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Network Logs
2+
https://textslashplain.com/2020/01/17/capture-network-logs-from-edge-and-chrome/
3+
4+
https://textslashplain.com/2020/04/08/analyzing-network-traffic-logs-netlog-json/
5+
6+
https://dev.chromium.org/for-testers/providing-network-details
7+
8+
Can also get traces:
9+
Navigate to `about:tracing`and use with the `Edge developer (navigation)` profile

0 commit comments

Comments
 (0)