2011-04-29 2 views
-1

WinDbg를 처음 사용하는 데 익숙하지 만 최근에 응용 프로그램에 문제가 발생하기 시작했지만 Windows 7 컴퓨터에서만 작동합니다 (처음에는 PC가 시작되지만 충돌이 발생하거나 매번 자동으로 사라집니다) .WinDbg Help Pls

나는 mdmp 파일을 얻었지만 필자가 필요로하는 데이터를 추출하는 최선의 방법이 부족하다는 것을 알게되었습니다.

0:000> !analyze -v 
******************************************************************************* 
*                    * 
*      Exception Analysis         * 
*                    * 
******************************************************************************* 

GetPageUrlData failed, server returned HTTP status 404 
URL requested: http://watson.microsoft.com/StageOne/Star_exe/1_0_0_0/4dbad268/KERNELBASE_dll/6_1_7600_16385/4a5bdaae/e0434352/00009617.htm?Retriage=1 

FAULTING_IP: 
KERNELBASE!RaiseException+58 
752d9617 c9    leave 

EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff) 
ExceptionAddress: 752d9617 (KERNELBASE!RaiseException+0x00000058) 
    ExceptionCode: e0434352 (CLR exception) 
    ExceptionFlags: 00000001 
NumberParameters: 5 
    Parameter[0]: 80070002 
    Parameter[1]: 00000000 
    Parameter[2]: 00000000 
    Parameter[3]: 00000000 
    Parameter[4]: 57af0000 

PROCESS_NAME: Star.exe 

ERROR_CODE: (NTSTATUS) 0xe0434352 - <Unable to get error code text> 

EXCEPTION_CODE: (NTSTATUS) 0xe0434352 - <Unable to get error code text> 

EXCEPTION_PARAMETER1: 80070002 

EXCEPTION_PARAMETER2: 00000000 

EXCEPTION_PARAMETER3: 00000000 

EXCEPTION_PARAMETER4: 0 

MOD_LIST: <ANALYSIS/> 

NTGLOBALFLAG: 0 

APPLICATION_VERIFIER_FLAGS: 0 

MANAGED_STACK: !dumpstack -EE 
No export dumpstack found 

MANAGED_BITNESS_MISMATCH: 
Managed code needs matching platform of sos.dll for proper analysis. Use 'x86' debugger. 

ADDITIONAL_DEBUG_TEXT: Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD] 

LAST_CONTROL_TRANSFER: from 57c03970 to 752d9617 

FAULTING_THREAD: ffffffff 

DEFAULT_BUCKET_ID: STACKIMMUNE 

PRIMARY_PROBLEM_CLASS: STACKIMMUNE 

BUGCHECK_STR: APPLICATION_FAULT_STACKIMMUNE_NOSOS_CLR_EXCEPTION_WRONG_SYMBOLS 

STACK_TEXT: 
00000000 00000000 star.exe+0x0 


SYMBOL_NAME: star.exe 

FOLLOWUP_NAME: MachineOwner 

MODULE_NAME: star 

IMAGE_NAME: Star.exe 

DEBUG_FLR_IMAGE_TIMESTAMP: 4dbad268 

STACK_COMMAND: ** Pseudo Context ** ; kb 

FAILURE_BUCKET_ID: STACKIMMUNE_e0434352_Star.exe!Unknown 

BUCKET_ID: APPLICATION_FAULT_STACKIMMUNE_NOSOS_CLR_EXCEPTION_WRONG_SYMBOLS_star.exe 

FOLLOWUP_IP: *** WARNING: Unable to verify timestamp for Star.exe 

Star!.ctor+0 [C:\Users\Aj\Documents\Visual Studio 2010\Projects\Star\Star\ViewModels\ViewModelBase.cs @ 22] 
00360000 ??    ??? 

WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOne/Star_exe/1_0_0_0/4dbad268/KERNELBASE_dll/6_1_7600_16385/4a5bdaae/e0434352/00009617.htm?Retriage=1 

Followup: MachineOwner 
--------- 
+0

Win7 컴퓨터 (x86 아키텍처 또는 x86 아키텍처)에서 .Net 프레임 워크 버전에 해당하는 올바른 sos.dll을 가져옵니다. 같은 버전의 다른 머신을 충돌시킨 동일한 머신에서 가져올 수 있습니다. 디버거 내부에서'.load' 명령을 사용하여로드하고 올바른 스택 추적을 얻습니다. 귀하의 질문에이 스택 추적을 추가, 누군가가 거기에서 도울 수 있어야합니다. –

답변

1

몇 주 동안 검색 한 후 (아마도 더 자세히) Trend Micro Corporate를 사용하면 XP와 Server 2003이 좋으며 Vista와 Windows 7 to 2003은 괜찮 으면서 XP/Vista에서 Server 2008까지도 괜찮습니다. 괜찮 았지만 (그리고 나는 이유를 모르겠다.) Windows 7을 사용할 때 바로 가기에서 UNC 경로를 사용하여 네트워크 응용 프로그램을 실행하려고하면 해당 응용 프로그램의 네트워크 트래픽을 차단하고 간헐적으로 어떤 건전한 논리가없는 것 같습니다. 왜 촉매가 트렌드를 시작하기위한 촉매인지 정확히 알지 못했지만, 우리가 트렌드를 사용하지 않을 때 모든 것이 정상으로 되돌아 갔다는 것을 알고 있습니다. 드라이브를 공유에 매핑하고 UNC 경로가 아닌 매핑 ​​된 드라이브를 사용하도록 사용자 워크 스테이션의 바로 가기를 변경하면 문제가 해결됩니다.

아무도이 문제에 부딪치지 않았 으면 좋겠지 만, 그렇게하면 문제에 대해 알 수 있습니다.

감사합니다. Aj

1

당신은 할 수 있습니다 : 나는 다음과 같은 분석 (잘못을하고있을 수도 있습니다) ...

이 사람이 잘하면 내 문제에 도움이 되거 나 내가 잘못 분석을 실행 해요 경우 도와 줄 수있어 이 기사를 시작점으로 사용하십시오. SOS: It's Not Just an ABBA Song Anymore

응용 프로그램이 .NET 응용 프로그램 인 것처럼 보입니다. 올바른 .NET Framework가 설치되어 있는지 확인하십시오. Windbg에 sos.dll 파일을로드 할 때 전체 경로를 제공해야 할 수 있습니다. 또한 스택 추적을 돕기 위해 공용 Microsoft 심볼 서버에 대한 액세스를 설정할 수 있습니다. 이 도움말은 도움이 될 수 있습니다 : Debugging Tools and Symbols: Getting Started. 최신 버전의 디버깅 도구가 있는지 확인하십시오.

! analyze는 오류에 대한 정보를 제공하지만 그 밖의 정보는 제공하지 않습니다. 첫 번째 기사에서 다른 내용을 확인해야합니다.

응용 프로그램에 대한 정보를 게시하면 비슷한 문제가 있는지 사람들이 알 수 있습니다.

ViewModelBase.cs 파일에서 오류가 발생한 것 같습니다. 예외를 잡아서 스택 트레이스를 출력하기 위해 log4net 또는 유사한 도구를 사용하여 일부 로깅을 추가 할 수 있습니다. AppDomain.CurrentDomain.UnhandledException event (또는 WPF 응용 프로그램의 경우 Application.DispatcherUnhandledException event)에 연결하여 던져진 내용을 모두 잡아 로그 파일에 인쇄 할 수 있습니다. 이 경우 WinDbg를 사용하여 현재 진행중인 작업을 파악할 필요가 없습니다.

+0

안녕하세요 @ Garo, 답장을 보내 주셔서 감사합니다. 불행히도 그 기사로 시작했지만 SOS가로드되었지만 위에 게시 된 것보다 유용한 정보를 얻지 못했습니다. 제 문제는 내 dev 환경이 Vista x64이고 문제가 발생한 PC가 Win 7에 있고 원격으로 디버깅 할 수있는 능력이 없다는 것입니다.~ – Aaj

+0

32 비트 windbg를 실행하려면 강제로 실행해야하지만!! analyze 추적처럼 보입니다. "적절한 분석을 위해 sos.dll과 일치하는 플랫폼이 필요합니다."라는 메시지가 나타납니다. 덤프가 32 비트 시스템에서 발생한 경우 32 비트 windbg을 사용하여 덤프 (이론적으로) 할 수 있어야합니다. –