Skip to content

Commit 96aeb45

Browse files
committed
Expand all docs.
1 parent 7ef619e commit 96aeb45

File tree

5 files changed

+55
-35
lines changed

5 files changed

+55
-35
lines changed

diagnostics/crash.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
# 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.
2+
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. If you're experiencing crashes, the information included in the [ProcessFailed event arguments](https://learn.microsoft.com/dotnet/api/microsoft.web.webview2.core.corewebview2processfailedeventargs) is a good starting point:
3+
- ExitCode
4+
- ProcessDescription
5+
- ProcessFailedKind
6+
- Reason
7+
8+
In addition to that, crash dumps are extremely helpful. WV2 crash dumps are located in a subfolder of the app's user data folder (UDF): `<UDF>\EBWebView\Crashpad\reports\`.
9+
By default the user data folder is created in the app's folder by default with a name like
10+
`<App Exe Name>.exe.WebView2`. If an app sets its user data folder location manually when creating a [WV2 Environment object](https://learn.microsoft.com/dotnet/api/microsoft.web.webview2.core.corewebview2environment), it may be in a different location.

diagnostics/etw.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
# 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.
2+
[Event Tracing for Windows (ETW)](https://learn.microsoft.com/en-us/windows-hardware/test/wpt/event-tracing-for-windows)traces include detailed events on system state and the activities WV2 was doing before and when an issue occurs.
33

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.
4+
This repo has a WV2 recording profile - [WebView2.wprp](WebView2.wprp) that includes the events that we find most useful.
55

6-
To get an ETW trace:
6+
ETW traces can get fairly large, so try to keep the amount of extra time spent when recording as small as possible.
7+
8+
1. Close Edge and 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.
79
1. Download [WebView2.wprp](WebView2.wprp) from this repo.
810
2. In an elevated command prompt run `wpr -start WebView2.wppr -filemode` (wpr.exe is included in Windows)
911
3. Reproduce the issue.

diagnostics/gpu.md

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
# 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-
2+
GPU logs include details on the user's GPU and any potential graphics or rendering issues. If your WV2 has been created successfully but the content is not there, it might be due to a hosting and/or GPU driver issue.
3+
4+
There's a few pieces of information that can help us investigate these issues:
5+
## DirectX Details
6+
On the device that is hitting the issue:
7+
1. Run `dxdiag` from a console window
8+
1. Once the dialog displays and is done capturing info (there is a small progress bar) hit the "Save All Information" button to save the info to a `dxdiag.txt` file
9+
1. Share the `dxdiag.txt` file
10+
11+
## GPU Logs
12+
1. Navigate your WV2 to `edge://gpu`
13+
1. Wait for the page to load content under the "Log Messages" header towards the bottom.
14+
1. Hit "Copy Report to Clipboard" at the top
15+
1. Paste it into a text file, and share it.

diagnostics/install.md

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,26 @@
11
# 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`
2+
Installer logs include information about any errors that WV2's installer/updater hit when trying to install or update the WV2 runtime. There are a few different logs that we need to best look in to any issues.
3+
4+
## Registry Key
5+
This registry contains important update information like when the last update occurred, recent error codes, and updater version information.
6+
1. Open `regedit.exe`
7+
2. Find `HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate`
8+
3. Select it, click "File" and choose "Export..."
9+
4. Name it `registryoutput.txt`, change "Save as Type" to .txt, and ensure "Selected branch" is the path from step #2.
10+
5. Click Save.
11+
12+
## Installer Logs
13+
There are three places where WV2's updater will write potentially important logs:
14+
15+
1. `C:\ProgramData\Microsoft\EdgeUpdate\Log\MicrosoftEdgeUpdate.log`
16+
2. `%localappdata%\Temp\MicrosoftEdgeUpdate.log`
17+
3. `C:\Windows\Temp\msedge_installer.log`
18+
19+
If you don't have all three of these, that's not a problem.
20+
21+
## List of Installed WV2 Files
22+
Finally, including a list of all the files installed by WV2 will let us understand if there is something missing in your installation causing the issue.
23+
1. Open a command prompt.
24+
2. Run `dir /s /b "c:\Program Files (x86)\Microsoft\EdgeWebView\" > edgefiles.txt` this creates `edgefiles.txt` with the list of files.
25+
26+
Once you have all five of these files: `registryoutput.txt`, `msedge_installer.log`, `edgefiles.txt`, and the two `MicrosoftEdgeUpdate.log`s, share them with the WV2 developer who is helping you.

diagnostics/network.md

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
11
# 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
2+
Network logs include the network requests, responses, and details on any errors when loading files. The easiest way to gather network logs for WV2 is to pass the `--log-net-log` command-line parameter to your WV2 app by setting the `WEBVIEW_ADDITIONAL_BROWSER_ARGUMENTS` environment variable to `--log-net-log=C:\MyPath\Log.json` (replacing the path with a location that your app can write to).
73

8-
Can also get traces:
9-
Navigate to `about:tracing`and use with the `Edge developer (navigation)` profile
4+
If that doesn't work in your scenario, there's more options for gathering network logs [in this post](https://textslashplain.com/2020/01/17/capture-network-logs-from-edge-and-chrome/). Additionally, [Chromium documentation](https://dev.chromium.org/for-testers/providing-network-details) has more details on some of the options.

0 commit comments

Comments
 (0)