이미 소장하고 있다면 판매해 보세요.
|
1부. 개요
1장 툴 소개 누수 진단 툴 윈도우 디버깅 툴 UMDH 마이크로소프트 애플리케이션 베리파이어 전역 플래그 프로세스 익스플로러 윈도우 드라이버 킷 Wireshark DebugDiag 정리 2장. 디버거 소개 디버거 기본 기본적인 디버거 작업 원격 디버깅 디버깅 시나리오 정리 3장. 디버거 해부 유저 모드 디버거의 내부 타겟 제어 정리 4장. 심볼과 소스 파일의 관리 디버깅에 필요한 심볼 관리 디버깅 용도의 소스 파일 관리 정리 2부. 디버깅 응용 5장. 메모리 손상 1 - 스택 메모리 손상 탐지 스택 손상 정리 6장. 메모리 손상 2 - 힙 힙이란 힙 손상 정리 7장. 보안 윈도우 보안 개요 보안 정보의 출처 보안 검사의 방법 클라이언트-서버 애플리케이션에서 신분 전파 시스템 경계에서의 보안 검사 보안 실패 조사 정리 8장. 프로세스 간의 통신 통신 메커니즘 로컬 통신 문제 해결 원격 통신 문제 해결 부가적인 기술 정보 정리 9장. 리소스 누수 리소스란 하이레벨 절차 리소스 누수의 재현성 핸들 누수 메모리 누수 정리 10장. 동기화 동기화 기본 하이레벨 절차 동기화 시나리오 정리 3부, 고급 주제 11장. 커스텀 디버거 익스텐션 작성 디버거 익스텐션 소개 디버거 익스텐션 예제 정리 12장. 64비트 디버깅 마이크로소프트 64비트 시스템 윈도우 x64의 변경사항들 정리 13장. 포스트모템 디버깅 덤프 파일 기본 덤프 파일의 사용 윈도우 오류 보고 기업 오류 보고 정리 14장. 강력한 툴 디버그 진단 툴 !analyze 익스텐션 명령 정리 15장. 윈도우 비스타 기초 1장: 툴 소개 2장: 디버거 소개 6장: 메모리 손상 - 힙 부분 7장: 보안 8장: 프로세스 간의 통신 9장: 자원 누수 10장: 동기화 11장: 커스텀 디버거 익스텐션 작성 13장: 포스트모템 디버깅 정리 부록 A. 애플리케이션 베리파이어 테스트 설정 예외 핸들 힙 락 메모리 스레드 풀 TLS 파일 경로 HighVersionLie 인터액티브서비스 KernelModeDriverInstall 자원 부족 시뮬레이션 LuaPriv DangerousAPIs DirtyStacks TimeRollOver PrintAPI와 PrintDriver |
|
이 책의 소개
윈도우의 개발자에게 있어서 디버깅보다 더 난해하며 잔인한 작업은 거의 없다. 신뢰할 만하고 실제적인 정보가 항상 부족했다. 이제 15년 이상의 경력을 가진 마이크로소프트 시스템 개발자인 두 저자가 윈도우 디버깅에 대한 철저한 실전 지침을 제공한다. 저자들은 애플리케이션 전체 수명에 걸친 디버깅을 다루고 마이크로소프트 디버거와 서드파티 툴을 사용하는 법을 소개한다. 실제 해결책을 신속히 찾는 데 도움을 주고자 이 책은 실질적인 디버깅 시나리오로 구성돼 있으며, 전문 개발자가 직면하는 복잡한 디버깅 역경을 조명하려고 세부적인 코드 예제를 제공한다. 핵심 윈도우 운영체제 개념에서부터 보안과 윈도우 비스타, 64비트 디버깅에 이르기까지 두 저자는 부각되는 주제를 먼저 언급하지만 너무 간략하지도 않고 또한 과장되지도 않게 다룬다. 이 책을 통해 독자 여러분은 다음의 목표를 이룰 수 있다. ★NTSD와 CDB, WinDbg, KD, ADPlus와 같은 최신의 가장 강력한 윈도우 디버깅 툴을 마스터할 수 있다. ★디버깅이 용이하도록 설계되지 않았거나 작성되지 않은 코드를 디버깅할 수 있다. ★디버거의 이면을 이해하고 심볼과 소스를 효과적으로 관리할 수 있다. ★스택이나 힙과 관련된 복잡한 메모리 손상을 디버깅할 수 있다. ★복잡한 보안 문제를 해결할 수 있다. ★신분 추적과 RPC 디버거 확장, Ethereal를 통한 IPC 추적 같은 여러 프로세스 간에 걸쳐 있는 문제를 디버깅할 수 있다. ★메모리와 핸들 누수 같은 리소스 누수를 찾아서 수정할 수 있다. ★일반적인 스레드 동기화 문제를 디버깅할 수 있다. ★커스텀 디버거 익스텐션을 작성해야 할 때와 그 방법을 익힐 수 있다. ★크래시 덤프를 사용하여 “포스트모템 디버깅”을 수행할 수 있으며, 이를 윈도우 오류 보고 시스템과 통합할 수 있다. ★DebugDiag 툴과 Analyze 디버거 명령을 사용하여 디버깅 작업을 자동화할 수 있다. 독자 여러분이 시스템 레벨이나 애플리케이션 개발자이든 간에 이 책은 독자의 다음 프로젝트에서 많은 시간을 덜어줄, 디버깅에 관한 심도 있는 이해력을 제공할 것이다. 이 책의 대상 소프트웨어 개발자는 물론이고 윈도우 깊숙한 내부에서 실제 어떤 일이 일어나는지 궁금한 사람 누구에게나 도움이 될 내용을 다룬다. 기술적으로 고급 시스템 엔지니어만을 위한 책이라고 생각할 수도 있지만 실상은 그렇지 않다. 이 책은 개발자들 사이에 떠도는 선입견을 제거하는 것이 가장 큰 목표다. 여러 이유로 인해 많은 소프트웨어 엔지니어는 자신들이 작업하고 있는 소프트웨어와 운영체제 간에 일종의 마법 같은 관계가 있다고 믿는다. RPC/COM이나 윈도우 힙 관리자 같은 운영체제 컴포넌트를 분석해야 하는 문제가 발생할 때 개발자가 품은 선입견은 문제 해결에 큰 도움이 될 수 있는 정보를 얻기 위한 윈도우 내부 조사를 방해한다. 이 책을 효과적으로 활용하려면 선입견을 없애는 법부터 배우고 이면에 마법이 존재하지 않는다는 마음가짐을 지녀야 한다. 핵심 윈도우 컴포넌트를 독자 제품의 확장으로 간주해야 하지 독립적이고 마법적인 계층으로 여겨서는 안 된다. 윈도우 컴포넌트도 다른 누군가가 작성한 단지 코드일 뿐이다. 독자가 이 경지에 올라섰다면 가히 윈도우 디버깅에 정통할 첫 단계를 내디딘 것이다. 이 책의 구성 1부. 개요 1부에서는 기초 내용을 다루며 툴과 디버거의 개요를 통해 디버거의 기본적인 사항을 알려준다. 윈도우 디버거에 이미 익숙하더라도 귀중한 많은 정보가 들어 있으므로 대강이라도 살펴보기를 권장한다. 2부. 디버깅 응용 윈도우 디버거를 사용하여 일반적인 프로그래밍 실수를 분석할 기회를 제공한다. 각 장에서는 메모리 손상과 메모리 누수, RPC/COM과 같은 특정 부류의 문제에 중점을 둔다. 각 장은 윈도우 컴포넌트와 관련 있는 일반적인 프로그래밍 실수를 예시하는 몇 가지 시나리오에 수반되는 해당 윈도우 컴포넌트를 간단히 살펴보고 시작한다. 3부. 고급 주제 3부는 포스트모템 디버깅과 64비트 디버깅, 윈도우 비스타의 기본적인 사항 등과 같은 주제를 논하는 장으로 구성해 전반적으로 고급 내용을 다룬다. 이들 장의 목표는 각 영역에 대해 철저한 내용을 제공하는 것이 아니라 설명한 주제를 독자가 시작할 수 있는 정도의 기본적인 사항을 제공하는 것이다. |