나는 windbg에서 새롭고 windows에서 메모리를 분석한다. x64 시스템의 메모리 덤프 (크래시 덤프)를 분석하려고합니다.일부 기호 경고가있는 경우 windbg analyze 결과를 사용할 수 있습니까?
는 모든 기호 (내와 마이크로 소프트) 를로드 한 후에 나는이 출력의 일부입니다 !analyze -v
입력 :
......
FAULTING_SOURCE_CODE: <some code here>
SYMBOL_STACK_INDEX: 6
SYMBOL_NAME: rtplogic!CSRTPStack::Finalize+19d
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: RTPLogic
IMAGE_NAME: RTPLogic.dll
DEBUG_FLR_IMAGE_TIMESTAMP: 58542837
STACK_COMMAND: ~544s; .ecxr ; kb
FAILURE_BUCKET_ID: WRONG_SYMBOLS_c0000374_RTPLogic.dll!CSRTPStack::Finalize
BUCKET_ID: X64_APPLICATION_FAULT_WRONG_SYMBOLS_rtplogic!CSRTPStack::Finalize+19d
......
이 WRONG_SYMBOLS
나를 걱정.
FAULTING_SOURCE_CODE
의 코드는 충돌과 관련된 코드 일 수 있습니까?
소리가 들리는 지경입니다. 내가 이해하는 것처럼'gflags'는 이미 실행 된 프로세스의 일부 설정을 변경하는 도구입니다. 하지만 제 경우에는 메모리 덤프가 내 PC가 아니므로 문제가있는 원격 PC에 직접 액세스하지 않았습니다. 이 기능을 다른 방식으로 활성화 할 수 있습니까? 예를 들어, 컴파일하는 동안 디버그 플래그와 같은가? –
앱이 충돌하는 PC에서이 설정을 활성화해야합니다. – magicandre1981
@StepanLoginov : 전체 페이지 힙은 힙의 모든 단일 'int'에 대해 8kB의 메모리 (2 페이지, 데이터에 대해 1 개의 액세스 가능한 페이지 및 디버거를 트리거하는 1 개의 액세스 할 수없는 페이지)를 할당합니다. 따라서이 접근법은 4kB를 초과하는 누출만을 발견합니다. 나는 실제 문제가 발생하기 전에 모두 메모리 부족으로 고통 받기 때문에 32 비트 프로그램에서는 거의 작동하지 않는 것으로 나타났습니다. 64 비트 프로그램에서 잘 작동 할 수 있습니다. –