2012-01-17 1 views
0

WinDBG 6.12.0002.633 x86이 있고 Windows Mobile 6 ARMV4I 응용 프로그램에서 사후 kdmp를 볼 때 사용하고 있습니다.windbg 충돌 정보

콜 스택을 분석 할 때 많은 알 수없는 부분이 있습니다. 분석에서 * FAULTING_IP * 섹션에서 오류가 tcpstk 모듈에 있음을 알 수 있습니다. (내가 기호도 있지만. * STACK_TEXT * 섹션에서 tcpstk 주소는 기호로 표시되지 않고 주소로만 표시됩니다.

또한 * MODULE_NAME * 섹션에서 방금 말한대로 알 수 없습니다. . 폴트 모듈 tcpstk이었다

!analyze -v 명령의 결과는 다음 I는 kp 명령어로 전환하면

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 

는 갑자기 호출 스택의 일부를 볼 수

!analyze -v 명령이 완전히 디코드 된 호출 스택을 표시 할 수없는 이유는 무엇입니까? 왜 그것은 많은 미지수를 보여 줍니까?

+0

모든 창과 응용 프로그램 기호를 해결 했습니까? 창을 고치려면 .symfix; .reload 만 입력하면됩니다. 그런 다음 응용 프로그램에서 pdbs에서 제거 된 개인 기호없이 디버그 또는 릴리스에서 컴파일해야합니다. 그런 다음 WinDbg를 다시 연결하고 호출 스택이 더 의미있는 지 확인하십시오 – EdChum

+0

해결되지 않은 기호 문제 일 뿐이므로 모듈 이름은 볼 수 있지만 함수 이름은 볼 수 없습니다. 나는 여기에 모듈 이름을 보지 못한다. 아무 것도 가리 키지 않는 주소. – PaulH

답변

0

나는 WinDBG가 ARM을 디버깅 할 수 없다고 생각한다. ARM과 x86 및 x64 애플리케이션 만 디버깅 할 수 있다는 어떠한 문서도 보지 못했다.

ARM 툴킷에는 Winddg가 있으며 Winddg는 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-Watson/ http://nicolasbesson.blogspot.com/2009/10/post-mortem-debug-under-windows-mobile.html – PaulH

+0

@PaulH 아아, 확인, WinDbg를 첨부하면 모든 모듈이 나열됩니다. 또는 체크섬 또는 유사점을 확인할 수 없다고 불평합니까? 'lm'을 사용하여로드 된 모듈을 나열 할 수 있습니다. – EdChum