2012-01-17 132 views
0

我有WinDBG 6.12.0002.633 x86,我正在使用它來查看Windows Mobile 6 ARMV4I應用程序的驗屍kdmp。windbg衝突信息

當我去分析callstack時,我得到了很多未知數。在分析中,我可以在* FAULTING_IP *部分看到故障位於tcpstk模塊中。 (爲此我也有符號,但在* STACK_TEXT *部分,tcpstk地址只顯示爲地址,沒有符號

另外,在* MODULE_NAME *部分中, 。該錯誤模塊是tcpstk

!analyze -v命令的結果是:

1:128:armce> !analyze -v 
***snip!*** 
FAULTING_IP: 
tcpstk!_DerefIF+38 [\private\winceos\comm\tcpipw\ip\iproute.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>\bin\build_logs\timebuild\ntrebase.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 [\private\winceos\coreos\core\dll\apis.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 [\private\winceos\comm\tcpipw\ip\iproute.c @ 1032] 
761efa6c 00000000 tcpstk!_DerefIF(struct Interface * IF = 0x7b858453)+0x28 [\private\winceos\comm\tcpipw\ip\iproute.c @ 1026] 

爲什麼!analyze -v命令不能顯示完全解碼的callstack?爲什麼它表現出如此多的未知數?

+0

您是否解決了所有窗口和應用程序符號?爲了修復Windows的人,你可以只輸入.symfix; .reload,然後爲您的應用程序,你需要編譯它無論是在調試或不從PDBS剝離專用符號釋放,然後再重新連接WinDbg,看看調用堆棧更有意義 – EdChum

+0

如果只是一個符號未解決的問題,我仍然會看到模塊名稱,但不是函數的名稱。我甚至在這裏看不到模塊名稱。只是一個地址,不指向任何東西。 – PaulH

回答

0

我認爲WinDBG無法調試ARM我還沒有看到任何文檔說明它能夠調試ARM,只有x86和x64應用程序。

在ARM工具包中提供了一個Windbg,它是與microsoft WindDbg無關的armsd的加窗版本。

+0

是的,WinDBG支持WinCE和Windows Mobile調試。 http://support.microsoft.com/kb/264038 http://www.windowsfordevices.com/c/a/Windows-For-Devices-Articles/Finding-Windows-CE-bugs-with-help-from -DR-沃森/ http://nicolasbesson.blogspot.com/2009/10/post-mortem-debug-under-windows-mobile.html – PaulH

+0

@PaulH啊,OK,當你連接WinDbg它列出所有模塊或抱怨它無法驗證校驗和或類似?您可以使用'lm'列出加載的模塊 – EdChum