24-7 디버거가없는 Win7 시스템을 실행해야하는 내 VB.NET 코드에서 크래시 덤프를 디버깅하려고합니다. 모든 모듈의 대상은 32 비트이므로 64 비트 항목을 시도하는 이유는 모르겠습니다.32 비트 대상을 선택한 경우 크래시 덤프가 64 비트를 표시합니다. 왜요?
디버거에 연결하려고하는데 실패 했으므로 중단됩니다. 나는 기계에 로그인하여 다시 추락 한 것을 발견, 그래서 나는 다음과 같은 추적에 멈추는 crashdump.DMP 파일을 만들 : 디버거가 원격으로 연결되어있는 경우 동일한 코드가 전혀 충돌하지 않습니다
wow64.dll!Wow64NotifyDebugger() + 0x1d bytes
wow64.dll!HandleRaiseException() + 0xee bytes
wow64.dll!Wow64NtRaiseException() + 0x88 bytes
wow64.dll!whNtRaiseException() + 0x15 bytes
wow64.dll!Wow64SystemServiceEx() + 0xd7 bytes
wow64cpu.dll!TurboDispatchJumpAddressEnd() + 0x2d bytes
wow64.dll!RunCpuSimulation() + 0xa bytes
wow64.dll!Wow64LdrpInitialize() + 0x429 bytes
ntdll.dll!LdrpInitializeProcess() + 0x1936 bytes
ntdll.dll!string "Enabling heap debug options\n"() - 0x45fe9 bytes
ntdll.dll!LdrInitializeThunk() + 0xe bytes
또는 로컬.
아무에게도 무엇을 찾아 볼 수 있습니까? 디버거를 마음대로 설치하고 Debug.Writeline() 호출 결과를 볼 수 있도록 실행 파일을 Debug x86 빌드로 컴파일했습니다.
해당 컴퓨터에 디버거가없는 경우 어떻게 크래시 덤프를 만드나요? 그리고 콜 스택에'ntdll.dll! string "이 포함되어 있어야합니다. 힙 디버그 옵션을 활성화하려면 \ n"()'? 이전에는 본 적이 없지만이 프로세스에서 사용할 수있는 Gflags 옵션이있을 수 있습니다. –