使用WinDBG从调用堆栈中查找URL

jos*_*osh 6 windows debugging windbg postmortem-debugging internet-explorer-8

我间歇性地在转储文件中收到一个浏览器因此错误而挂起。

使用!analyze -v3次崩溃后,我收到此错误和堆栈

GetUrlPageData2 (WinHttp) failed: 12007.
Run Code Online (Sandbox Code Playgroud)

但是,我永远无法在失败的转储文件中找到该URL。有人可以帮忙吗?

STACK_TEXT:  
0029e8fc 5ffce1fd 74ce1450 00000000 00000000 user32!NtUserWaitMessage+0x15
0029e960 5ffd5f2c 00000001 0070fab0 00000000 ieframe!CBrowserFrame::FrameMessagePump+0x52e
0029e9a8 5ffd64e4 00000000 74ce1450 00708618 ieframe!BrowserThreadProc+0xf8
0029e9c8 5ffd6441 00708618 00000000 00708618 ieframe!BrowserNewThreadProc+0x88
0029fa38 5ffd62b2 00708618 00000000 76655528 ieframe!SHOpenFolderWindow+0x109
0029fa5c 5ffd61b1 006e4188 00000001 00000000 ieframe!IEWinMainEx+0x204
0029fa78 5ffd6120 006e4188 00000001 00000000 ieframe!IEWinMain+0x77
0029fab0 00c32fdb 006e4188 00000001 01000000 ieframe!LCIEStartAsFrame+0x265
0029fc04 00c312a2 00c30000 00000000 006a21cc iexplore!wWinMain+0x3b2
0029fc98 74ce33aa 7efde000 0029fce4 77159ef2 iexplore!_initterm_e+0x1b1
0029fca4 77159ef2 7efde000 77f3a412 00000000 kernel32!BaseThreadInitThunk+0xe
0029fce4 77159ec5 00c31b0a 7efde000 00000000 ntdll!__RtlUserThreadStart+0x70
0029fcfc 00000000 00c31b0a 7efde000 00000000 ntdll!_RtlUserThreadStart+0x1b
Run Code Online (Sandbox Code Playgroud)

如何在失败的堆栈中查找URL?

bla*_*abb 5

GetUrlPageData2 (WinHttp) 失败:12007 与崩溃无关。

Windbg 尝试从 Microsoft 服务器中提取 Watson 数据,但未能提取,因此显示错误字符串仅供参考

正在拉取的数据是全球各种用户对询问do you want to send this to Microsoft_xxxx 应用程序何时崩溃 的对话框说“是”时发送到 Microsoft 服务器的数据

数据(如果存在)可能有助于 Windbg 在您使用 !analyze -v 时提供更好的崩溃分析

错误代码 12007 是ERROR_WINHTTP_NAME_NOT_RESOLVED 您可以在 winhttp.h 中找到定义的 Winhttp 错误列表,如果您在本地安装了 sdk 或参考winhttp_errorcodes

如果您如此执着,您可以使用 .dbgdbg 来调试调试器并在 ext!GetUrlPageData2 上设置断点并使用 da Poi(@esp+4) 转储字符串

GetPageUrlData failed, server returned HTTP status 404

URL requested: http://watson.microsoft.com/StageOne/FoxitReader_exe/7_2_8_1124/56551ff4/FoxitCloud_fpi/3_7_139_918/55fbbee5/c0000005/0006b97a.htm?Retriage=1
Run Code Online (Sandbox Code Playgroud)

这让您发布的堆栈似乎没有包含有关崩溃的任何详细信息,它似乎正在等待一个对象