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

时间:2016-02-03 21:38:47

标签: windows debugging internet-explorer-8 windbg postmortem-debugging

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

在3次崩溃中使用!analyze -v后,我收到此错误并堆叠

GetUrlPageData2 (WinHttp) failed: 12007.

但是,我永远无法在转储文件中找到失败的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

如何在此堆栈中找到失败的网址?

1 个答案:

答案 0 :(得分:3)

GetUrlPageData2(WinHttp)失败:12007与崩溃没有任何关系。

Windbg尝试从Microsoft服务器中提取Watson数据并且未能将其拉出,因此它显示的错误字符串仅供参考

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

如果数据存在,可以帮助Windbg在您使用时更好地分析崩溃!analyze -v

错误代码12007是ERROR_WINHTTP_NAME_NOT_RESOLVED 如果您在本地安装了sdk,或者参考winhttp_errorcodes

,您可以找到winhttp.h中定义的Winhttp错误列表

如果你这么弯曲你可以使用.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

您发布的堆栈不会显示有关等待对象的崩溃的任何详细信息