로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

실전 윈도우 디버깅

   
지은이 Mario Hewardt/김점갑   |   출판사 에이콘  |   발행일 2008년 10월 07일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 46,000원41,400원 10%
마일리지 5% 2,300원
발행일 2008-10-07
ISBN 8960770612 | 9788960770614
기타정보 번역서 | 840쪽 | Paperback
예상출고일
배송비 무료배송
   
컴퓨터공학
종합지수 8p 49 위
   
이 책의 원서
  Advanced Windows Debugging
Addison-Wesley Professional | Mario Hewardt
주의사항 더이상 출간되지 않습니다.
 

[요 약]

윈도우 애플리케이션에서 시스템 프로그래밍까지 메모리(스택, 힙) 손상과 자원 누수, 크래시 분석, 보안 문제, 서버/클라이언트, 동기화 문제 등의 근본원인을 파악하는 기법과 문제 탐지에 사용할 수 있는 강력한 디버깅 툴의 활용법과 전용 디버깅 명령 작성법을 소개한다. 또한 회사에 디버깅이 가능한 시스템(소스 서버와 심볼 서버)을 구축하는 법과 윈도우 오류보고와 기업 오류보고 시스템을 구축해 자동으로 오류를 전달받고 패치하는 메커니즘까지 다루는 실전 윈도우 디버깅에 대한 체계적이고 심도 있는 완벽 가이드.

★[이 책에 쏟아진 각계의 찬사]★

경험을 담을 수 없다고 누가 말했던가? 이 책 곳곳에는 버그를 찾아서 제거하기 위한 논리적인 접근법을 명확히 보여주는 많은 정보가 담겨 있다. 마이크로소프트 윈도우 소프트웨어를 개발, 테스트, 지원하는 개발자라면 누구나 소장해야 할 필독서다.

- Bob Wilton / 에스컬레이션 엔지니어, 중요 문제 해결 팀, 마이크로소프트

극도의 시스템 프로젝트를 요하는 분야에서 8년 이상 저자와 함께 일할 수 있는 행운을 누렸다. 이 책에는 프로젝트를 시작할 당시에 알았었다면 좋았을 내용이 모두 들어 있다. 4년에 한 번 돌아오는 2월 29일 하루 정도 여유가 생긴 날, 커피를 엎지른 얘기나 남에게 들은 경험담을 담고 있는 것이 아니라, 저자가 직접 복잡한 시스템 프로젝트를 실제 만들어 디버깅한 결과의 경험담을 담고 있다.
대부분 책에서 고급 항목은 독자의 연습문제로 남겨두거나 다른 고급서를 참고하라고 말하며 구체적으로 설명하지 않는다. 이 책은 기존 책들과는 확연히 다르다. 두 권을 사놓고 한 권은 동료에게 빌려줄 준비를 해둬야 할 것이다.
—Raymond McCollum, 아키텍트, 마이크로소프트 프런트 보안 제품

마이크로소프트에 재직 중인 Mario와 Daniel의 공저인 이 책은 중고급 수준의 디버깅을 원하는 개발자들이 보기에 훌륭한 참고서다. 스택과 힙 손상 같은 미묘한 문제를 디버깅하는 방법을 예시하는 심도 있는 예제를 다룸으로써 이 책은 윈도우 Win32 소프트웨어 디버깅을 다룬 기존 문서들과 궤를 달리 하며 두각을 나타낸다. 매우 실제적이며 많은 디버깅 기법과 전략을 담고 있는 실전 가이드다.
—Kinshuman, 개발 리드, 윈도우 핵심 OS 부서

명료하고도 포괄적인 디버깅 기법을 통해 안내를 받고 있다는 사실에 매우 만족스럽다. 난해한 진단 문제를 다루는 방법과 사용하는 기법에 감춰진 메커니즘도 설명한다. 이 책에서 취하는 실제 접근법은 여러 핵심 윈도우 영역을 이해하는 데 좋은 자료가 된다.
—Adrian Marinescu, 소프트웨어 아키텍트, 마이크로소프트

소프트웨어 결함을 디버깅하고 수정에 관한 훌륭한 문서의 요구사항을 충족시켜 주는 책이다. 또한 다양한 부류의 소프트웨어 버그 원인을 철저하게 조사하는 저자의 값진 경험을 바탕으로 전형적인 결함에 대한 대표 사례와 이들 결함 조사에 사용하는 툴, 이들 툴을 사용하는 단계적 지시사항을 샅샅이 다룬다. 소프트웨어 개발자와 테스터는 이런 예제에 익숙해짐으로써 크나큰 도움을 얻을 수 있다.
—Daniel Mihai, 소프트웨어 설계 엔지니어, 개발자 생산성 툴, 마이크로소프트

나는 WinDbg 심볼 핸들러와 심볼서버, 소스서버를 작성했지만 내 아내는 아직도 WinDbg를 제대로 쓰지 못한다. 아내는 WinDbg를 사용하기가 너무 어렵다고 생각했고, 이 툴의 잠재적 기능을 배우지 못했다. 이 책을 한 부 사서 아내에게 주면 WinDbg를 마스터할 수 있을 것 같다. 포스트모템 디버깅과 메모리 손상 관련 장은 프로그램 폴트 컨텍스트에서 런타임과 운영체제 내부에 대한 고찰을 제공해주는 아주 중요한 내용이다. 디버깅에 관한 Mario와 Daniel의 이해도는 익숙하지 않은 타깃 프로그램에 존재하는 매우 난해한 버그를 해결해야 하는 요구 사항에서 나온 것이다. 실제로 강력한 디버깅이 무엇인지를 낱낱이 알려주는 책이다.
—Pat Styles, 마이크로소프트

[도서 소개]

윈도우의 개발자에게 있어서 디버깅보다 더 난해하며 잔인한 작업은 거의 없다. 신뢰할 만하고 실제적인 정보가 항상 부족했다. 이제 15년 이상의 경력을 가진 마이크로소프트 시스템 개발자인 두 저자가 윈도우 디버깅에 대한 철저한 실전 지침을 제공한다.

저자들은 애플리케이션 전체 수명에 걸친 디버깅을 다루고 마이크로소프트 디버거와 서드파티 툴을 사용하는 법을 소개한다.

실제 해결책을 신속히 찾는 데 도움을 주고자 이 책은 실질적인 디버깅 시나리오로 구성돼 있으며, 전문 개발자가 직면하는 복잡한 디버깅 역경을 조명하려고 세부적인 코드 예제를 제공한다. 핵심 윈도우 운영체제 개념에서부터 보안과 윈도우 비스타, 64비트 디버깅에 이르기까지 두 저자는 부각되는 주제를 먼저 언급하지만 너무 간략하지도 않고 또한 과장되지도 않게 다룬다.

이 책을 통해 독자 여러분은 다음의 목표를 이룰 수 있다.

  • NTSD와 CDB, WinDbg, KD, ADPlus와 같은 최신의 가장 강력한 윈도우 디버깅 툴을 마스터할 수 있다.
  • 디버깅이 용이하도록 설계되지 않았거나 작성되지 않은 코드를 디버깅할 수 있다.
  • 디버거의 이면을 이해하고 심볼과 소스를 효과적으로 관리할 수 있다.
  • 스택이나 힙과 관련된 복잡한 메모리 손상을 디버깅할 수 있다.
  • 복잡한 보안 문제를 해결할 수 있다.
  • 신분 추적과 RPC 디버거 확장, Ethereal를 통한 IPC 추적 같은 여러 프로세스 간에 걸쳐 있는 문제를 디버깅할 수 있다.
  • 메모리와 핸들 누수 같은 리소스 누수를 찾아서 수정할 수 있다.
  • 일반적인 스레드 동기화 문제를 디버깅할 수 있다.
  • 커스텀 디버거 익스텐션을 작성해야 할 때와 그 방법을 익힐 수 있다.
  • 크래시 덤프를 사용하여 “포스트모템 디버깅”을 수행할 수 있으며, 이를 윈도우 오류 보고 시스템과 통합할 수 있다.
  • DebugDiag 툴과 Analyze 디버거 명령을 사용하여 디버깅 작업을 자동화할 수 있다.

    독자 여러분이 시스템 레벨이나 애플리케이션 개발자이든 간에 이 책은 독자의 다음 프로젝트에서 많은 시간을 덜어줄, 디버깅에 관한 심도 있는 이해력을 제공할 것이다.

    ★[이 책의 대상]★

    소프트웨어 개발자는 물론이고 윈도우 깊숙한 내부에서 실제 어떤 일이 일어나는지 궁금한 사람 누구에게나 도움이 될 내용을 다룬다. 기술적으로 고급 시스템 엔지니어만을 위한 책이라고 생각할 수도 있지만 실상은 그렇지 않다. 이 책은 개발자들 사이에 떠도는 선입견을 제거하는 것이 가장 큰 목표다. 여러 이유로 인해 많은 소프트웨어 엔지니어는 자신들이 작업하고 있는 소프트웨어와 운영체제 간에 일종의 마법 같은 관계가 있다고 믿는다. RPC/COM이나 윈도우 힙 관리자 같은 운영체제 컴포넌트를 분석해야 하는 문제가 발생할 때 개발자가 품은 선입견은 문제 해결에 큰 도움이 될 수 있는 정보를 얻기 위한 윈도우 내부 조사를 방해한다. 이 책을 효과적으로 활용하려면 선입견을 없애는 법부터 배우고 이면에 마법이 존재하지 않는다는 마음가짐을 지녀야 한다. 핵심 윈도우 컴포넌트를 독자 제품의 확장으로 간주해야 하지 독립적이고 마법적인 계층으로 여겨서는 안 된다. 윈도우 컴포넌트도 다른 누군가가 작성한 단지 코드일 뿐이다. 독자가 이 경지에 올라섰다면 가히 윈도우 디버깅에 정통할 첫 단계를 내디딘 것이다.

    ★[이 책의 구성]★

    1부. 개요
    1부에서는 기초 내용을 다루며 툴과 디버거의 개요를 통해 디버거의 기본적인 사항을 알려준다. 윈도우 디버거에 이미 익숙하더라도 귀중한 많은 정보가 들어 있으므로 대강이라도 살펴보기를 권장한다.

    2부. 디버깅 응용
    윈도우 디버거를 사용하여 일반적인 프로그래밍 실수를 분석할 기회를 제공한다. 각 장에서는 메모리 손상과 메모리 누수, RPC/COM과 같은 특정 부류의 문제에 중점을 둔다. 각 장은 윈도우 컴포넌트와 관련 있는 일반적인 프로그래밍 실수를 예시하는 몇 가지 시나리오에 수반되는 해당 윈도우 컴포넌트를 간단히 살펴보고 시작한다.

    3부. 고급 주제
    3부는 포스트모템 디버깅과 64비트 디버깅, 윈도우 비스타의 기본적인 사항 등과 같은 주제를 논하는 장으로 구성해 전반적으로 고급 내용을 다룬다. 이들 장의 목표는 각 영역에 대해 철저한 내용을 제공하는 것이 아니라 설명한 주제를 독자가 시작할 수 있는 정도의 기본적인 사항을 제공하는 것이다.

    ★[추천의 글]★

    소프트웨어에는 “단순화”라는 한 가지 목표가 있다. 최적화하고 자동화할 수 있는 절차와 좀더 효율적으로 저장하거나 처리할 수 있는 데이터가 존재한다면 소프트웨어는 그 일을 이행하기 위해 개입한다. 단순화를 한다고 해서 원래대로 복원(undo)하는 데 복잡성을 야기하지 말아야 한다. 따라서 최소의 사용자 관여로써 설치되어야 하며 계속해서 여타 애플리케이션과 여러 곳의 데이터와 서비스를 통합하고 소프트웨어와 하드웨어 환경 변화에 탄력적으로 대응해야 한다. 대부분의 경우 소프트웨어는 신비하게 그냥 동작한다.

    하지만 엔드 유저와 관리자의 경험을 단순화하려고 노력하는 동안에 소프트웨어는 더욱 더 복잡해졌다. 소프트웨어가 다루는 데이터 양이든지 소프트웨어가 통신하는 애플리케이션 수, 소프트웨어의 내부 병렬화 정도 또는 소프트가 자신이 실행되는 스택에서 직간접으로 임포트하는 API이든 간에, 많은 소프트웨어의 명료한 단순성은 미묘한 타이밍 문제와 의존성, 소프트웨어 계층 간 또는 종종 상이한 애플리케이션과 심지에 컴퓨터에 걸쳐 있는 가정을 숨겨준다.

    여러분이 소프트웨어를 개발하고 테스트, 지원하는 방법을 배우기 위해 이 책을 읽고 있다면, 근본 원인을 조사하고 수정을 책임지고 있는 변경이 잦은 소프트웨어의 많은 부분에서 이미 문제에 직면하고 있을 것이다. 이런 시도에서 성공하려면 무엇보다도 최대한 신속하고 효율적으로 문제의 원인을 파악해야 한다. 그러기 위해선 무엇을 그리고 어디를, 어떻게 살펴볼지를 알아야 한다. 결국, 툴을 자유 자재로 사용하고, 특정 부류의 실패에 대해 어떤 툴이 가장 효과적인지, 그리고 문제의 원인을 신속히 좁히기 위해 각 툴의 특성과 기능을 적용하는 법을 알아야 한다.

    대부분의 경우 윈도우 애플리케이션의 문제를 조사하고 디버깅하는 법을 배우는 것이 단지 선택사항이었지만 애플리케이션 실패를 디버깅할 때에 애매한 툴이나 시나리오 특정적인 디버거 명령에 따라 즉시 문제를 이해할 수도 있고 문제를 파악하는 데 여러 시간 또는 심지어 성공하지도 못하면서 며칠을 허비할 수도 있다. 이것이 바로 이와 같은 책이 그 가치를 발휘하는 이유다.

    이 책에서는 통합된 지식과 수년 간에 걸친 저자와 마이크로소프트 고객 지원 서비스, 윈도우 제품 및 툴 개발 팀의 경험을 독자에게 모두 공개했다. 윈도우 힙 관리자가 버퍼 오버플로우 행위에 영향을 주는지 또는 DCOM 행(hang)의 원인 조사에 어떤 디버거 익스텐션 명령을 사용해야 하는가와 같은 주제를 배우기에 가장 적절한 책이라 하겠다. 직접 작성한 윈도우 애플리케이션과 디바이스 드라이버를 10년 넘게 디버깅해왔지만, 이 책에서 내가 이미 사용하고 있는 것은 물론이고, 아직 접해보지 못한 새로운 기법과 툴, 디버거 명령을 배웠다.

    우리 모두는 수입과 명성을 디버깅 방법에서 얻는 것이 아니라 얼마나 신속하고 정확하게 디버깅을 하는가에 따라 달려있다. 독자가 윈도우 애플리케이션을 수 년 동안 해왔든지 막 시작했든지 간에 두 저자는 독자의 버그 사냥 여정을 잘 준비해 줄 것이다. 즐거운 여행이 되기를 바란다.

    Mark Russinovich
    기술 펠로우, 플랫폼 & 서비스 부서
    마이크로소프트

    ★[저자 서문]★

    얼마 전 작업 중에 직면한 매우 난해한 문제에 대해 얘기를 나누었다. QA팀에서 제품에 대한 스트레스 테스트를 진행했는데 4, 5일마다 크래시가 발생하곤 했다. 생각할 수 있는 한도 내에서 크래시를 디버깅했고 원인을 파악하기 위해 집중적인 코드 검토를 했지만 본질에 접근할 충분한 정보를 얻을 수 없었다. 소득없이 몇 주를 허비한 후에 다른 접근법을 찾기 시작했다. 복도에서 담소를 나누는 중에 누군가가 우연히 gflags 툴을 언급했다. 우리는 이 툴을 전혀 들어 본 경험이 없어서 크래시의 본질을 파악하는 데 어떻게 도움을 받을 수 있는지를 알아보기 시작했다. 불행히도 이 툴을 배우는 과정은 다소 어려웠다. 먼저 툴에 관한 정보를 찾기가 만만치 않았다. gflags 툴에 딸린 참고 문서에 많은 정보가 있었지만 실제로 시작하는 법을 이해하기가 어려웠다. 기본적인 참고 지침이 없다면 해당 툴을 사용할 가망성이 없다는 것을 금방 알아차렸다. 그래서 이 툴을 언급했던 사람에게 지침이 될 만한 문서나 조언을 알고 있는지를 물어보기로 했다. 그는 툴에 대한 간단한 설명을 해주었으며 더 중요한 것은 이 툴을 가지고서 광범위하게 작업을 수행했던 사람들을 알려주었다. 소개해준 사람들과의 유익한 대화를 나누고 점차로 이 툴에 대한 개념을 이해하기 시작했다.

    우리가 크래시의 본질에 도달했을까? 그렇다. 사실 특정 문제를 겨냥한 스트레스 테스트를 수행하는 동안 오류 코드를 찾고 수정하기 위해 코드 검토에 단 한 시간 정도만 걸릴 정도의 수준으로 툴을 활성화시켰을 뿐이다. 처음부터 gflags 툴과 그 사용법을 알았었더라면 수 주간의 작업을 절약할을 수 있었을 것이다. gflags 툴을 알고부터 오류 코드의 문제해결 시도에 툴의 사용법을 보다 더 이해하기 위해 많은 시간을 투자했다.

    다년 간에 걸쳐 윈도우 디버거와 툴은 계속 발전해 점점 강력해져 왔다. 현재 이용 가능한 기능(시간 절약도 가능하게 해주는)은 매우 뛰어나다. 이해할 수 없는 부분은 수 년이 지났지만 네이티브 디버거와 툴은 여전히 소수의 개발자만이 알고 있다는 사실이다. 이런 툴이 존재한다는 것을 알고 있는 극소수의 개발자도 우리가 몇 년 전에 겪은 것과 유사하게 툴을 배우는 고통을 거쳐야 한다는 것이다. 저자는 마이크로소프트 엔지니어(어떤 이는 이 툴을 작성했다)와 일하는 호사스러움을 다행히 누렸지만 이런 기회가 없다면 기대에 찬 많은 개발자가 희망을 잃고서 이 툴로부터 도움을 전혀 받지 못 할 것이다. 배울 수 있는 자료가 부족한 이런 불행한 문제가 종국에는 문제 해결을 위한 좋은 기회가 된 것이며 그래서 이 책을 쓸 생각을 하게 된 것이다. 개발자에게 필요한 지식을 얻도록 할 수 있는 핵심은 디버깅 툴의 상세한 사항을 철저히 설명하는 간결한 정보를 모아서 제공하는 것이다. 지금 보고 있는 이 책은 이런 역할을 할 것이며 3년에 걸쳐 집필되었고 지난 15년 간의 디버깅 경험의 축적물이다.

    이 책을 우리가 집필하면서 경험한 즐거움을 독자들도 읽으면서 느끼길 바란다. 이 책은 독자 여러분을 소프트웨어 문제해결과 디버깅을 매우 효과적으로 할 수 있는 실로 놀라운 세계로 안내할 것이다. 이 책에서 기술한 툴의 사용법과 기법을 안다는 것은 컴퓨터 분야의 작업에 중요한 부분이며 소프트웨어의 가장 난해한 몇몇 문제를 매우 효과적으로 해결하는 법을 가르쳐 줄 수도 있다.

    ★[옮긴이의 말]★

    사람은 무엇으로 사는가?
    톨스토이는 이 질문을 통해 이 시대를 살아가는 우리에게 한 번쯤은 자신을 반추해볼 기회와 답을 주고 있다. 저자는 가난한 구두 제조업자 세묜에게 하나님의 벌을 받아 세상에 내려온 천사 미하일의 눈을 통해 다음의 세 질문에 대한 답을 구하게 한다.
    가난에 찌든 사람으로부터 도움을 받은 미하일은 “인간의 내면에는 무엇이 있는가?”에 대한 답으로 사랑이 사람의 내면에 자리 잡고 있음을 깨닫고, 한치 앞도 볼 수 없는 인간의 우둔함에서 “인간에게 허락되지 않은 것은 무엇인가?”에 대한 대답으로서 인간은 앞을 바라보는 지혜가 부족함을 깨닫고, 다른 사람의 자식을 거두는 이웃으로부터 “사람은 무엇으로 사는가?”에 대한 답으로 사랑의 소중함을 깨닫게 된다.

    개발자는 무엇으로 사는가?
    현란한 코딩의 즐거움 아니면 복잡한 수학적 알고리즘을 사용하는 현학적 우월감 또는 로우 레벨의 시스템 프로그래밍에 대한 즐거움인가? 사실 이 정도의 개발자라면 자신이 원하는 분야의 프로그래밍을 하면서 그래도 많은 것을 누리는 행복한 편에 속한다고 할 수 있다. 하지만 진정으로 개발자의 즐거움은 모름에 대한 지혜를 추구하고 새로운 앎에 대한 식지 않는 열정을 즐길 수 있는 여유에서 온다고 여겨진다.

    여러분은 일상에서 항상 원인이 모호한 메모리 손상, 프로세스 행, 힙과 스택 손상, 보안 문제, 프로세스 크래시, 동기화 문제, 자원 누수, 미묘한 타이밍 문제 등과 같은 곤란을 겪고 있을 것이다. 이런 문제에 대하여 최대한 신속하고 효율적인 방식으로 문제의 범위를 줄이고 정확한 원인을 파악하고 해결책을 강구할 수 있어야 한다. 결국 문제를 인식하고 분류할 수 있어야 하며 각 문제에 대하여 가장 효과적인 툴을 선택하고 필요하다면 분석을 위한 툴을 직접 작성할 수 있어야 하며 특정 부류의 문제에 대한 디버깅을 위한 시스템 조율이 가능해야 하며 효과적인 디버깅 환경을 구축할 수 있는가 하는 문제로 귀결된다.

    이 책에서는 앞서 언급한 이런 문제에 대한 철저하고도 경험을 바탕으로 한 저자의 노하우가 고스란히 담겨있다. 체계적이며 심도 있는 디버깅 기법을 풍부한 예제를 통해 매우 간결하게 문제를 해결하는 절차를 예시해 줌으로써 실전에서 부담없이 적용 가능하다. 여러분이 응용 프로그램이나 시스템 프로그램, 서버/클라이언트 프로그램, COM 같이 어떤 분야에서 개발을 하든지 간에 이 책에서 예시된 다양한 툴과 포괄적이고도 명료한 기법을 통해 난해한 문제를 진단하고 해결할 수 있을 것이다. 여러분은 역자와 마찬가지로 이 책을 통해 진정한 개발의 즐거움을 누릴 수 있을 것이다.
  • 1부. 개요 1

    1장 툴 소개 3
    누수 진단 툴 4
    윈도우 디버깅 툴 7
    UMDH 9
    마이크로소프트 애플리케이션 베리파이어 9
    전역 플래그 16
    프로세스 익스플로러 22
    윈도우 드라이버 킷 24
    Wireshark 27
    DebugDiag 27
    정리 28

    2장. 디버거 소개 29
    디버거 기본 30
    기본적인 디버거 작업 45
    원격 디버깅 109
    디버깅 시나리오 118
    정리 121

    3장. 디버거 해부 123
    유저 모드 디버거의 내부 124
    타겟 제어 168
    정리 178

    4장. 심볼과 소스 파일의 관리 179
    디버깅에 필요한 심볼 관리 180
    디버깅 용도의 소스 파일 관리 188
    정리 195

    2부. 디버깅 응용 197

    5장. 메모리 손상 1 - 스택 199
    메모리 손상 탐지 201
    스택 손상 209
    정리 258

    6장. 메모리 손상 2 - 힙 259
    힙이란 259
    힙 손상 281
    정리 315

    7장. 보안 317
    윈도우 보안 개요 318
    보안 정보의 출처 329
    보안 검사의 방법 334
    클라이언트-서버 애플리케이션에서 신분 전파 335
    시스템 경계에서의 보안 검사 339
    보안 실패 조사 340
    정리 378

    8장. 프로세스 간의 통신 379
    통신 메커니즘 380
    로컬 통신 문제 해결 382
    원격 통신 문제 해결 396
    부가적인 기술 정보 422
    정리 426

    9장. 리소스 누수 427
    리소스란 427
    하이레벨 절차 428
    리소스 누수의 재현성 433
    핸들 누수 434
    메모리 누수 459
    정리 492

    10장. 동기화 493
    동기화 기본 493
    하이레벨 절차 504
    동기화 시나리오 509
    정리 549

    3부, 고급 주제 551

    11장. 커스텀 디버거 익스텐션 작성 553
    디버거 익스텐션 소개 553
    디버거 익스텐션 예제 556
    정리 594

    12장. 64비트 디버깅 595
    마이크로소프트 64비트 시스템 595
    윈도우 x64의 변경사항들 603
    정리 630

    13장. 포스트모템 디버깅 631
    덤프 파일 기본 632
    덤프 파일의 사용 645
    윈도우 오류 보고 653
    기업 오류 보고 683
    정리 690

    14장. 강력한 툴 691
    디버그 진단 툴 691
    !analyze 익스텐션 명령 699
    정리 708

    15장. 윈도우 비스타 기초 709
    1장: 툴 소개 710
    2장: 디버거 소개 712
    6장: 메모리 손상 - 힙 부분 717
    7장: 보안 723
    8장: 프로세스 간의 통신 736
    9장: 자원 누수 737
    10장: 동기화 737
    11장: 커스텀 디버거 익스텐션 작성 741
    13장: 포스트모템 디버깅 741
    정리 745

    부록 A. 애플리케이션 베리파이어 테스트 설정 747
    예외 747
    핸들 747
    힙 748
    락 757
    메모리 759
    스레드 풀 762
    TLS 763
    파일 경로 764
    HighVersionLie 765
    인터액티브서비스 767
    KernelModeDriverInstall 768
    자원 부족 시뮬레이션 769
    LuaPriv 770
    DangerousAPIs 774
    DirtyStacks 775
    TimeRollOver 775
    PrintAPI와 PrintDriver 775
    Mario Hewardt
    마이크로소프트의 수석 설계 엔지니어로서 윈도우 시스템 레벨의 개발 분야에서 지난 9년간 광범위하게 개발에 관여했다. 윈도우 98부터의 5번에 걸친 윈도우 출시 동안에 서버와 데스크탑 관리 분야의 작업을 주로 했으며, 제품의 신뢰성과 견고성, 보안성을 확보하는 데 주력했다.

    Daniel Pravat
    마이크로소프트의 수석 설계 엔지니어로서 다수의 윈도우 출시에 있어서 여러 윈도우 컴포넌트를 작성하는 데 주도적으로 관여했다. 마이크로소프트에 합류하기 전에는 컴퓨터 기반의 전화 통신 서버를 위한 전자 통신 소프트웨어를 개발했었다. 모든 소프트웨어 애플리케이션은 신뢰성이 있어야 하며 예측 가능해야 하고 효율적이라야 한다고 믿는 사람이다.

    [옮긴이 소개]

    김점갑
    경북대학교 컴퓨터 공학과를 졸업한 후 삼성전자에서 GNU 컴파일러를 기반으로 ARM CORE 컴파일러 포팅/개발을 했다. 이후 하제소프트를 거쳐 데브구루를 공동으로 창업하여 다양한 디바이스 드라이버를 개발했으며, 다수의 드라이버 강의 세미나와 교육을 진행했다. 현재는 안철수 연구소에서 보안 관련 시스템 프로그램 개발 업무에 매진하고 있다

    부분 기대를 안고 봤으나...
    최영수님이 쓰신 서평보기 I 평점 I 조회수(1573) I 공감 (0) I 블로그
    역시나 기대가 너무 컸나...NET Application 이후로 디버깅 관련 책 중 좋은 책 한개를 못 발견했다.. ㅜㅜ 보는 내내 먼가 부족한 듯한 느낌을 지울 수 없구요디버깅에 관한 세세한 부분은 기대하지 마셔요~~ 메모리 관련해서 심도있게 다루는 거 같은데이해하기 죠낸 힘듬 ㅋㅋ 내용, 개념들이 조각조각 나눠진 느낌이랄까??WinDBG를 자유자재로 쓰시는 분들 정도에게나 도움될 듯..
    조금만 더 신경썼으면..
    서동훈님이 쓰신 서평보기 I 평점 I 조회수(1178) I 공감 (0) I 블로그
    번역의 질이 그럭저럭이라고 해서 샀는데...제가 느끼는 번역의 질은 매우 아쉽네요. 영어 문장을 직역한 듯한 느낌 때문에 읽을 때 집중하기가 쉽지 않습니다.(물론 제 주관적인 의견입니다.)혹시 구입하실 분들은 서점에서 한 번 읽어 보신 후, 자신과 맞는 경우에 사시길 바랍니다.
    좋은책입니다.
    김성은님이 쓰신 서평보기 I 평점 I 조회수(1235) I 공감 (0) I 블로그
    번역의 질은... 잘된 편인데...  에이콘 홈페이지 가도 그렇고... 어디다 올려야 할지 몰라서 여기 남깁니다. 519 쪽... 밑부분... 쓰레드가 그냥 종료할 것이다. 다음 부분에...써드파티코드가 호출된 이후 auquire 됬던 이전 cs가 leave 됬을까? 문장이 빠져있네요...  조금 만 더 신경써서 출간이 됬으면 어땠을까 하는 아쉬움이 남네요...
    알고리즘 문제 해결 전략 - 전2권...
    구종만
    선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
     
    전체평균(59)
    회원평점   회원서평수 3
    부분 기대를 안고 봤으나...
    최영수 님  2009-08-18
    조금만 더 신경썼으면..
    서동훈 님  2008-10-29
    좋은책입니다.
    김성은 님  2008-10-29
    김점갑 의 최근 저서
     
    WDF
    40,500원
    (10%↓+5%)
     
    에이콘 출판사의 신간
    게임 테스팅 3/e
    찰스 슐츠 , 로버트 덴튼 브라이언트 [옮긴이]진석준 저
    31,500원
    (10%↓+1%)
     
    콘텐츠 어드밴티지 2/e
    콜린 존스 [옮긴이] 심주연 저
    22,500원
    (10%↓+1%)
     
    파이썬을 활용한 비지도 학습
    벤자민 존스턴 , 애런 존스, 크리스토퍼 크루거 [옮긴이]조경빈 저
    31,500원
    (10%↓+1%)
     
    순수 함수형 데이터 구조
    크리스 오카사키 [옮긴이] 오현석 저
    31,500원
    (10%↓+5%)
     
    빅데이터 시각화
    제임스 밀러 [옮긴이]최준규, 강형건 저
    25,200원
    (10%↓+5%)
     
    이메일주소수집거부