
一、问题现象某 Windows 客户端软件安装完成后首次打开正常可以看到登录界面。但是输入用户名和密码点击登录后软件窗口变成白屏窗口标题栏仍然存在最小化、最大化、关闭按钮正常程序没有自动退出任务管理器中仍能看到进程故障现象如下打开软件正常 输入账号密码 点击登录 窗口内容区域白屏 程序未退出最终处理结果安装最新版 Microsoft Edge WebView2 Runtime 后问题解决。二、环境信息项目信息软件名称速跃雅思103软件版本1.0.3操作系统Windows 10 / Windows 11客户端技术栈Tauri / Rust WebView2故障触发点点击登录后故障表现登录后白屏解决方式更新 Microsoft Edge WebView2 Runtime从 dump 中看到的 WebView2 Runtime 版本为100.0.1185.36对应模块路径C:\Program Files (x86)\Microsoft\EdgeWebView\Application\100.0.1185.36\EBWebView\x64\EmbeddedBrowserWebView.dll这个 WebView2 版本发布时间较早属于明显过旧版本。三、初步判断从现象上看软件不是直接崩溃。如果是传统原生程序崩溃通常会出现程序直接退出 Windows 弹出崩溃提示 事件查看器中出现 Application Error dump 中存在明确异常例如 Access Violation但本次现象是程序窗口还在 主窗口边框正常 内容区域为空白 进程仍然存在这更像是内嵌浏览器页面渲染失败也就是 WebView2 加载的前端页面执行失败。四、白屏时创建内存转储文件后进行 Dump 分析1. 在软件白屏时打开任务管理器找到白屏的进程鼠标右击点击创建内存转储文件2. 收集完成后会弹窗提示点击打开文件位置即可找到生成的 DMP。3. 使用 WinDbg / CDB 打开 dump可以使用 Windows Debugging Tools 中的cdb.exe分析 dumpcdb.exe-z速跃雅思103.DMP进入调试器后查看线程~查看所有线程栈~* k主线程停在类似位置win32u!NtUserGetMessage user32!GetMessageW这说明 dump 生成时主线程正在正常等待 Windows 消息。也就是说这个 dump 更像是“白屏现场的活动进程 dump”不是典型崩溃 dump。4. 观察线程特征dump 中可以看到类似线程名tokio-runtime-worker MojoThread这两个信息很关键tokio-runtime-worker常见于 Rust 异步运行时MojoThread常见于 Chromium / WebView2 相关进程通信结合模块信息可以判断该软件大概率是Tauri / Rust 外壳 WebView2 页面渲染5. 查看模块版本在调试器中执行lmv m EmbeddedBrowserWebView可以看到 WebView2 模块信息Image path: C:\Program Files (x86)\Microsoft\EdgeWebView\Application\100.0.1185.36\EBWebView\x64\EmbeddedBrowserWebView.dll File version: 100.0.1185.36 Product version: 100.0.1185.36 Timestamp: 2022-04-07再查看软件主程序模块lmv m bcfecfacdfbeabc可以看到File version: 1.0.3.0 ProductName: 速跃雅思 CompanyName: jingke也就是说软件本身版本较新但运行时依赖的 WebView2 内核很旧。五、进一步验证dump 中可以看到软件登录页和登录后页面相关 URL例如https://uabchs.wiseinsightai.com/login https://uabchs.wiseinsightai.com/welcome同时网络访问测试正常域名可以解析HTTPS 端口也可以访问。因此问题不像是完全断网 DNS 解析失败 服务器无法访问更像是页面加载到了 WebView2 中 但前端脚本在旧浏览器内核中执行失败 最终导致 SPA 页面白屏六、根因分析线上前端脚本中使用了一些较新的 JavaScript API例如toSorted()toReversed()toSpliced()这些 API 对浏览器内核版本有要求。而本机实际使用的 WebView2 Runtime 是100.0.1185.36这个版本过旧无法完整支持较新的前端语法和 API。当登录后页面执行到这些新 API 时旧版 WebView2 可能抛出 JavaScript 异常导致前端应用没有成功挂载最终页面就显示为空白。所以本次问题的根因是Microsoft Edge WebView2 Runtime 版本过旧无法兼容登录后加载的新版前端页面导致 WebView2 渲染失败客户端白屏。七、解决方案方案一安装最新版 Microsoft Edge WebView2 Runtime下载安装最新版Microsoft Edge WebView2 Evergreen Runtime微软官方下载地址https://developer.microsoft.com/en-us/microsoft-edge/webview2/安装完成后重新打开软件并登录。本次实际验证安装最新版 Microsoft Edge WebView2 Runtime 后速跃雅思103 登录后白屏问题解决。方案二清理 WebView2 缓存如果升级 WebView2 Runtime 后仍然白屏可以尝试清理 WebView2 用户数据目录。先关闭软件并结束相关进程速跃雅思103 bcfecfacdfbeabc.exe msedgewebview2.exe然后执行Rename-Item$env:LOCALAPPDATA\com.jingke.syys.desktop\EBWebViewEBWebView.bak-ErrorAction SilentlyContinue再重新启动软件。方案三重启电脑升级 WebView2 Runtime 后如果旧的 WebView2 进程没有完全退出可以直接重启电脑。重启后再打开软件登录。九、排查思路总结遇到类似问题时可以按照下面顺序排查1. 确认是否真正崩溃 2. 查看 dump 中主线程是否异常 3. 判断是否为 WebView2 / Electron / Tauri 类客户端 4. 查看 WebView2 Runtime 版本 5. 检查登录后页面是否使用较新前端 API 6. 升级 WebView2 Runtime 7. 清理 WebView2 用户数据目录 8. 重启电脑验证十、结论本次速跃雅思103登录后白屏问题最终确认是本机 Microsoft Edge WebView2 Runtime 版本过旧导致。故障本质不是账号问题也不是软件主程序直接崩溃而是登录后 WebView2 内嵌页面渲染失败。最终解决方法安装最新版 Microsoft Edge WebView2 Runtime处理后软件可以正常登录不再白屏。这类问题在 Tauri、WPF WebView2、WinForm WebView2 等 Windows 客户端中比较常见。如果遇到“打开正常、登录后白屏、程序不退出”的现象建议优先检查 WebView2 Runtime 版本。