advapi32!ReportEventW

이벤트로그에 오류라고 뜨면 일반적으로 Event ID 대상 프로그램의 이름 또는 관계된 Component , 그리고 Description 등을 확인할 있으며, 이를 가지고 Research 이뤄진다. 하지만, 간혹 Detail Debugging 위해 문제시점의 메모리 덤프를 얻어서 Callstack등을 확인할 경우가 필요하다. 경우에는 Event Log reporting 하는 Function advapi32!ReportEventW(또는 ReportEventA) Breakpoint 걸어서 메모리 덤프를 수집하는 것이 유용할 때가 있다. DebugDiag 사용하는 경우에 편리한데, 아래와 같이 Crash rule에서 추가적으로 지정해 주면 하다.

Debug Diag Crash Rule Advanced Configuration 있는 , 해당 설정 중에 Breakpoints... 라는 메뉴가 있다.

상위의 Configure Breakpoints 에서 Add Breakpoint... Click 하면, Configure Breakpoint Menu 상위와 같이 있으며, Breakpoint Expression "advapi32!ReportEventW" 입력하여 Action Type Full Userdump 설정하면 Event Log Event 기록될 Memory Dump 수집할 있다. 물론, 오류 뿐만이 아니라 해당 Process에서 날리는 Event마다 Dump 생성하는 것이므로, 적절한 시점에 설정하는 것이 필요할 하다.

by 강세윤 | 2009/09/24 14:13 | Windows debugging | 트랙백 | 덧글(0)
트랙백 주소 : http://byung.egloos.com/tb/5122508
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

< 이전페이지 다음페이지 >