windbg 에서 !analyze -v 이러한 명령을 치면
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
p.s 헐...
http://rein.kr/blog/archives/2528
WinDbg의 !analyze 가 강력한 이유
당연한 얘기지만, 그 만큼의 수고와 끊임 없는 개선이 따랐기 때문. 이미 10년이 넘은 이 툴은…
WER 팀의 작년 논문(작년 10월의 SOSP09,http://www.sigops.org/sosp/sosp09/papers/glerum-sosp09.pdf)에 따르면,
!analyze is roughly 100,000 lines of code implementing some 500 bucketing heuristics, with roughly one heuristic added per week.
!analyze 명령 (WinDbg)는 대략 십만 줄의 코드로 만들어져 있고, 이는 500 개의 버킷팅 휴리스틱을 구현한다. 그리고 개략적으로 매주 1개의 휴리스틱이 추가된다.
라 한다.[1]
프로그래머가 직접 실행하기도 하는 부분이지만(windbg !analyze), 이 부분은 WER 서비스의 백엔드 서버들도 수행하는 부분이다. 그리고 이 부분에서 계속적으로 사용되고, 결과를 측정하고(!), 이를 반영해서 새로운 휴리스틱을 적용하는 등의 개선이 있었기에 굉장히 훌륭한 디버깅 툴이 된 것.
PS. 저 논문 굉장히 재밌다. 세부 내용 말고도 WER 서비스의 개략적인 역사와 통계, 측정치만 봐도 개발자들은 매우 재밌게 볼 수 있음.
- 해당 논문 3.2절의 첫 문단 일부 발췌 [↩]
This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.
'디버깅 & 스킬 > WinDbg 사용법' 카테고리의 다른 글
windbg 워크스페이스 두번째 스타일 (0) | 2013.06.06 |
---|---|
비주얼스튜디오 스타일로 꾸민 windbg UI (0) | 2012.12.14 |
[WinDbg] 6. 실행과 정지 (0) | 2012.12.14 |
[ 세미나 1탄 ] WinDbg... Part 1. (0) | 2012.12.12 |
WinDbg 명령어들 (0) | 2012.12.09 |