WinDbg 调试 Edge

妖精的绣舞 提交于 2019-11-27 15:29:58

如何用 windbg 调试 edge?
由于 edge 是 uwp 程序, 我们不能再像一般程序那样直接 attach to a process 。
微软官方说:

A UWP app will not be suspended in the same ways that it does when not being debugged

那么到底要如何用windbg 调试 edge 呢?下面是官方的方法, 在命令行 启动调试器进行调试。

在这里插入图片描述

这里里面有三个参数, 分别是 packagename, appid, 和 parameters 。

首先,打开edge , 用windbg 随便附加一个edge进程 , 中断后, 执行下面的命令。

0:045> .querypackage
Missing package name. The command is ".queryPackage <packageName>".
0:045> .querypackages
Package Full Name: Microsoft.AAD.BrokerPlugin_1000.17134.1.0_neutral_neutral_cw5n1h2txyewy
Package Display Name: PackageDisplayName
Version: 1000.17134.1.0
Processor Architecture: neutral
Publisher: CN=Microsoft Windows, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
Publisher Display Name: PublisherDisplayName
Install Folder: C:\Windows\SystemApps\Microsoft.AAD.BrokerPlugin_cw5n1h2txyewy
Package State: Unknown
AppId: App
Executable: Microsoft.AAD.BrokerPlugin.exe

下面会有一长串的输出,CTRL+F 进入搜索模式, 搜索一下 “microsoftedge" 。找到下面的一段输出:

Package Full Name: Microsoft.MicrosoftEdge_42.17134.1.0_neutral__8wekyb3d8bbwe
Package Display Name: AppName
Version: 42.17134.1.0
Processor Architecture: neutral
Publisher: CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
Publisher Display Name: Microsoft Corporation
Install Folder: C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe
Package State: Running
AppId: MicrosoftEdge
Executable: MicrosoftEdge.exe
AppId: ContentProcess
Executable: MicrosoftEdgeCP.exe
AppId: F12
Executable: MicrosoftEdgeCP.exe
AppId: BCHost
Executable: MicrosoftEdgeCP.exe
AppId: PdfReader
Executable: MicrosoftPdfReader.exe

上面的package full name 就是我们要找的 第一个参数 packagename 。
AppId: MicrosoftEdge 则是我们要找的第二个参数。
第三个参数是 浏览器的输入参数, 是一个url。 这样打开浏览器的时候,可以指定打开大的页面。

打开的你的 powershell 。 (提前配置好windbg 的环境变量,或者进入windbg 的目录)。

PS C:\Users\Mr.wang> windbg -plmPackage  Microsoft.MicrosoftEdge_42.17134.1.0_neutral__8wekyb3d8bbwe -plmApp MicrosoftEd
ge  file:///C:/Users/Mr.wang/Desktop/ChakraCore-master/poc/poc.html

然后就进入了调试状态。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!