收集相互矛盾的信息



我有WinDBG 6.12.0002.633 x86,我正在使用它查看来自Windows Mobile 6 ARMV4I应用程序的死后kdmp。

当我去分析调用堆栈时,我得到了很多未知。在分析中,我可以在*FAULTING_IP*部分看到故障在tcpstk模块中。(我也有符号。但是,在*STACK_TEXT*部分,tcpstk地址只显示为地址,没有符号。

此外,在*MODULE_NAME*部分,我得到了另一个未知的,尽管它只是说出错的模块在tcpstk中。

!analyze -v命令的结果是:

1:128:armce> !analyze -v
***snip!***
FAULTING_IP: 
tcpstk!_DerefIF+38 [privatewinceoscommtcpipwipiproute.c @ 1032]
01b0d6f0 ???????? ???
***snip!***
IP_ON_HEAP:  07b00090
The fault address in not in any loaded module, please check your build's rebase
log at <releasedir>binbuild_logstimebuildntrebase.log for module which may
contain the address if it were loaded.
FRAME_ONE_INVALID: 1
STACK_TEXT:  
761efa6c 07b00090 : 7b858453 00000003 00000000 00000000 : 0x7b0d6f0
761efa7c 07b0020c : 7b858453 506f010a 00000000 00000000 : 0x7b00090
761efacc 78012d38 : 7b858453 506f010a 00000000 00000000 : 0x7b0020c
761efaf4 78013cdc module_78010000!AdapterBindingManager::NetUp+0xb4 [bar.cpp @ 268]
761efb34 78014b78 module_78010000!AdapterBindingManager::EnterState+0x5e4 [bar.cpp @ 1327]
761efda4 78015c08 module_78010000!AdapterBindingManager::ProcessEvent+0x8e4 [bar.cpp @ 1298]
761efdd8 03f668dc module_78010000!MediaSense+0x25c [foo.cpp @ 673]
761efe94 00000000 coredll_3f49000!ThreadBaseFunc+0x98 [privatewinceoscoreoscoredllapis.c @ 633]

MODULE_NAME: Unknown_Module
IMAGE_NAME:  Unknown_Image
DEBUG_FLR_IMAGE_TIMESTAMP:  0
STACK_COMMAND:  ~128s ; kb
FAILURE_BUCKET_ID:  INVALID_POINTER_WRITE_c0000005_Unknown_Image!Unknown

如果我切换到kp命令,我会突然看到调用堆栈的那部分

1:128:armce> kp
Child-SP RetAddr  Call Site
761efa6c 01b0d6e0 tcpstk!_DerefIF(struct Interface * IF = 0x7b858453)+0x38 [privatewinceoscommtcpipwipiproute.c @ 1032]
761efa6c 00000000 tcpstk!_DerefIF(struct Interface * IF = 0x7b858453)+0x28 [privatewinceoscommtcpipwipiproute.c @ 1026]

为什么!analyze -v命令不能显示完全解码的调用堆栈?为什么它显示了这么多未知?

我认为WinDBG无法调试ARM我没有看到任何文档表明它能够调试ARM,只能调试x86和x64应用程序。

ARM工具包中提供了一个Windbg,它是armsd的窗口版本,与microsoft WindDbg无关。

相关内容

  • 没有找到相关文章

最新更新