0

WinDBG 6.12.0002.633 x86を使用しており、これを使用して、Windows Mobile6ARMV4Iアプリケーションから事後kdmpを表示しています。

コールスタックを分析しようとすると、不明な点がたくさんあります。分析では、* 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コマンドが完全にデコードされたコールスタックを表示できないのはなぜですか?なぜこれほど多くの未知数が表示されるのですか?

4

1 に答える 1

0

WinDBGはARMをデバッグできないと思います。ARMをデバッグできると述べているドキュメントは見たことがありません。x86およびx64アプリケーションのみです。

ARMツールキットにはWindbgがあります。これは、Windows版のarmsdであり、MicrosoftWindDbgとは関係ありません。

于 2012-04-03T10:43:26.457 に答える