장바구니 담기 close

장바구니에 상품을 담았습니다.

디버깅 NET 응용 프로그램

디버깅 NET 응용 프로그램

  • JOHN ROBBINS
  • |
  • 정보문화사
  • |
  • 2008-05-15 출간
  • |
  • 623페이지
  • |
  • 187 X 235 mm
  • |
  • ISBN 9788956744285
판매가

25,000원

즉시할인가

22,500

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
22,500

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

최고의 전문가로부터 핵심적인 디버깅 기법들을 전수받을 수 있는 지침서!

핵심적이면서 직관적인 내용을 통해 Microsoft Visual Studio를 활용한 핵심적인 응용 프로그램 디버깅 기법을 배울 수 있다. 디버깅 전문가인 John Robbins는 개발 시 발생하는 문제점들에 대해 구체적인 해결책을 제시하고 Microsoft Visual C#과 Visual Basic으로 작성된 예제 코드들을 제공하고 있다. 이 책에서 소개하는 좀더 효율적인 디버깅을 위한 기법과 도구를 배운다면 수준 높은 코드를 작성할 수 있을 것이다.

[이 책이 다루는 내용]
-. 디버깅 전쟁에서 승리하기 위해 필요한 도구와 기법을 배울 수 있다.
-. “까다로운” 버그를 해결하기 위해 실무에서 활용 가능한 디버깅 프로세스를 배울 수 있다.
-. 어설션과 추적문, 주석을 사용하여 개발 시에 버그를 잡을 수 있다.
-. 고급 중단점을 설정하여 중단점 활성화 시점 지정할 수 있다.
-. 조사식 창, Data Tips, 시각화 도우미를 사용하여 중요한 데이터를 빠르게 확인할 수 있다.
-. WinDBG와 SOS, ADPlus와 같은 디버깅 도구를 사용하는 방법을 배울 수 있다.
-. 애드-인과 매크로를 작성하여 Visual Studio 통합 개발 환경을 확장할 수 있다.
-. 디버깅 시에 코드 분석을 활용하고 새로운 규칙을 작성하는 방법을 배울 수 있다.
-. Win32 API와 MFC 개발 차이

목차

용어대역표
감사의 글
저자 소개
서문
누가 이 책을 읽어야 하는가?
이 책을 읽는 방법과 세 번째 판에 추가된 내용은 무엇인가?
예제 코드
이 책의 구조
시스템 요구 사항
샘플 파일에는 무엇이 제공되는가?
필독! 최소 권한으로 실행하라
피드백
이 책의 지원

Part 1디버깅 소개

Chapter 1 버그 : 원인과 해결방안
버그와 디버깅
버그란 무엇인가?
절차적인 문제와 해결책
디버깅 계획 수립
디버깅 선행 조건
스킬셋(Skill Set)
스킬셋 학습하기
디버깅 절차
1단계 : 버그를 재현한다
2단계 : 버그를 기술한다
3단계 : 항상 버그를 자신이 만든 것이라고 가정한다
4단계 : 분할 통치한다
5단계 : 창조적으로 생각한다
6단계 : 도구를 활용한다
7단계 : 심도있는 디버깅을 한다
8단계 : 버그가 수정되었는지 검증한다
9단계 : 배우고 공유한다
마지막 디버깅 절차 비법
요약

Chapter 2 디버깅 준비하기
프로젝트를 폐기 처분할 때까지 변경 사항을 추적한다
버전 제어 시스템
버그 추적 시스템
자신에게 맞는 시스템 선택하기<...BR>디버깅 시스템을 구축하기 위한 일정 수립
모든 빌드를 디버깅 심볼을 갖도록 빌드하기
경고를 오류로 처리하라
어셈블리를 어디에 로드하는지 알아야 한다
코드 분석 활성화하여 빌드하기
빈번한 빌드와 스모크 테스트는 필수
빈번한 빌드
스모크 테스트
설치 프로그램 곧바로 빌드하기
QA는 디버그 빌드로 테스트해야 한다
심볼 저장소 구성하기
소스 서버 구성하기
소스 서버란?
인덱싱 기초
소스 서버를 활용하여 디버깅하기
기능도 좋아지고 사용하기도 쉬워진 소스 서버 인덱싱
요약

Chapter 3 코드 작성 시 디버깅하기
어설트, 어설트, 어설트, 어설트
어떻게 그리고 무엇을 어설트할 것인가?
.NET에서의 어설션
SUPERASSERT.NET
추적, 추적, 추적, 추적
기본적인 추적
고급 추적 기법
무조건 주석을 달아라
요약

Chapter 4 자주 묻는 .NET 디버깅 질문들
프로세스와 내부 구조에 관련된 질문들
왜 관리자 권한을 피해야 하나요?
디버깅을 잘할 수 있는 비밀을 말해 주세요
어떤 개발 방법론을 사용해야 할까요?
코드 리뷰를 꼭 해야 하나요?
팀 밖으로 배포한 빌드를 다시 만드는데 어려움이 있네요.
어떻게 해야 하나요?
관리되는 코드를 디버깅할 때 유용하게 사용할 수 있는 C# 컴파일러 옵션들에는 어떤 것들이 있나요?
어떤 CPU에서 빌드해야 하나요?
컴파일러와 다른 개발 도구들을 언제부터 업그레이드해서는 안 되나요?
처음으로 프로그램을 디버깅할 때 소스 서버의 속도를 어떻게 하면 높일 수 있나요?
ConditionalAttribute는 언제 사용합니까?
조건문에서 상수 값을 왜 항상 왼쪽에 두나요?
.NET에서 디버그와 릴리즈 바이너리는 어떤 점이 다른가요?
Visual Studio 버그
어떤 프로젝트를 로드했더니 Visual Studio가 죽어버리고, F5를 눌렀을 때 디버거가 전혀 작동하지 않는 경우가 있습니다. 디버거가 작동해도 중단점이 활성화되지 않는 경우도 있습니다. 왜 그런거죠?
언젠가부터 특정 키가 편집 창에서 먹히질 않습니다. Visual Studio를 다시 설치했는데도 불구하고 해결을 하지 못했습니다. 어떻게 해야 하나요?
디버그 메뉴(또는 그 밖의 다른 UI 부분)에 문제가 발생했습니다
디버깅을 고려한 설계
예외 처리를 어떻게 구현해야 하나요?
처리되지 않은 예외를 기록하기 위해서는 어떻게 해야 하나요?
종결자는 언제 사용해야 하나요?
디버거 관련 질문 사항
개발 PC가 아니라 제품 PC에서 디버거를 사용해야 합니다. 이럴 경우 추가적으로 Visual Studio를 구매해야 하나요?
VSHOST가 뭔가요?
Visual Studio를 사용해 SQL 저장 프로시저를 디버깅할 수 있나요?
Visual Studio를 사용해 스크립트 디버깅은 어떻게 하나요?
코드 접근 권한(CAS : Code Access Security)이 다른 경우에 어떻게 디버깅할 수 있나요?
Windows Forms 응용 프로그램을 디버깅할 때 賈?오랫동안 멈춰있으면 왜 간혹 컨텍스트 전환 교착 예외가 발생하는 건가요? 그리고 관리되는 Debugging Assistants가 뭐죠?
디버깅 시나리오 관련 질문들
전역 어셈블리 캐시에 있는 어셈블리는 어떻게 디버깅하나요?
.NET으로 작성된 Windows 서비스의 시작 코드를 디버깅하고 싶습니다. 어떻게 해야 하나요?
사장님이 자꾸 이메일을 보내서 업무 마비 상태입니다. 어떻게 하면 이 끔찍한 PHB 이메일을 조금이라고 막을 수 있을까요?
교착 상태를 디버깅하기 위해서 어떤 방법을 사용하나요?
디자인-타임 어셈블리와 애드-인은 어떻게 디버깅할까?
어셈블리 로딩에서 문제가 발생하면 어떻게 디버깅하세요?
처리되지 않은 예외에서 소스와 줄 정보를 어떻게 하면 항상 얻을 수 있을까요?
어떤 도구들을 사용하세요?
SysInternals에서 제공하는 모든 도구
Lutz Roeder의 Reflector
Sells Brothers의 RegexDesigner.NET
WiX(Windows Installer XML)
그 밖의 도구들
요약

Part 2파워 디버깅

Chapter 5 Visual Studio를 이용한 고급 디버거 사용법
고급 중단점과 사용법
중단점에 관한 여러 가지 팁
함수에 중단점 빠르게 설정하기
위치 중단점 상세 변경
조사식 창
형식 지정자와 속성 평가
개체 ID 만들기
DataTips
타입 확장하기
디버거 시각화 도우미
[조사식] 창 부류에서 메서드 호출하기
고급 팁
다음 문 설정 명령
혼합 모드 디버깅
예외 디버깅
다중 스레드와 프로세스 디버깅하기
요약

Chapter 6 WinDBG, SOS, ADPlus
준비 작업
설치
참고 자료
이것만은 알아두자
심볼 서버 설정
WinDBG 옵션과 창
디버기 다루기
Command 창
도움말 이용하기
정확한 심볼이 로드되었는지 확인하기
프로세스와 스레드
네이티브 스택의 탐색
예외와 이벤트
WinDBG를 제어하기 위한 명령어들
덤프 파일 처리
매우 유용한 확장 명령어들
SOS
SOS를 WinDBG에 로드하기
Visual Studio에서 SOS 로드하기
도움말 확인하고 명령어 사용하기
프로그램의 상태와 관리되는 스레드
관리되는 호출 스택
개체 데이터 표시하기
GC 힙 살펴보기
예외와 중단점
교착 상태
그 밖의 SOS 명령어들
ADPlus
정지 모드
충돌 모드
원하는 시점에 잡아내기
요약

Part 3강력한 툴

Chapter 7 Visual Studio IDE 확장하기
매크로를 이용하여 확장하기
매크로 매개 변수
매크로 디버깅
코드 요소들
CommenTater: 감자 부패병 치료제?
그 밖에 유용한 매크로들
Visual Studio 애드-인
애드인 개발 트릭
옵션 페이지와 HiddenSettings 애드-인
SettingsMaster
요약

Chapter 8 코드 분석 규칙 작성하기
규칙 개발의 의미
규칙 개발 시 지켜야 할 사항들
가장 중요한 CheckMethod 요소
고급 규칙 개발
DoNotUseTraceAssertRule 규칙과
CallAssertMethodsWithMessageParametersRule 규칙 DoNotLockOnPublicFields, DoNotLockOnThisOrMe,
DoNotUseMethodImplAttributeWithSynchronized 규칙
AvoidBoxingAndUnboxingInLoops 규칙 ExceptionDocumentationInvalidRule 규칙과
ExceptionDocumentationMissingRule 규칙
요약

찾아보기

저자소개

지은이 존 로빈스(John Robbins)

New Hampshire에 주거지를 둔 개발자. Microsoft Systems Journal의 기고 편집자이며 유명한 \'Bugslayer\' 컬럼을 썼다. 컬럼에서 그는 디버깅과 성능 튜닝 그리고 팀 개발에 관련된 이슈들을 다루었다. 또, David Solomon Expert Seminars를 통해서 전세계의 회사들에게 디버깅 세미나를 제공하였다. www.jprobbins.com에서 만날 수 있다. NuMega Technologies에서 초기 엔지니어였으며, 오늘날 C/C++와 마이크로소프트 비주얼 베이직 그리고 자바 시장에서 가장 많이 사용되고 많은 수상을 한 개발 도구들을 설계/개발/관리하던 주요한 인물이었다. BoundsChecker(버전 3, 4, 5)와 TruTime(버전 1.0, 1.1) 그리고 TrueCoverage(버전 1.0)와 SoftICE(버전 3.24) 그리고 아직 발표되지 않은 제품을 작업했다.

옮긴이 서우석

디버깅 분야에서 각광받고 있음.

도서소개

디버깅 전문가로부터 배우는 핵심 디버깅 기법!

이 책은 까다로운 버그를 해결하기 위해 실무에서 활용 가능한 디버깅 프로세스를 소개한다. 상업적인 소프트웨어를 개발하는 데 필요한 디버깅 기법을 자세히 설명한다. 본문은 먼저 버그의 종류를 정의하고 모든 개발자들이 디버깅 시 따라야 할 디버깅 절차, 적절한 팀 디버깅을 위해 필요한 구조적인 요구 사항을 소개한다.

그런 다음 .NET 개발 시에 주로 사용하게 될 디버거인 Visual Studio와 WinDBG의 모든 기능들을 낱낱이 소개한다. Visual Studio를 사용하여 보다 현명하고 빠르게 디버깅할 수 있도록 도움을 주는 트릭들을 안내한다. 그리고 Visual Studio 2005를 확장하는 기술과 코드 분석 및 FxCop 규칙을 만드는 방법을 알려준다.

어설션과 추적문, 주석을 사용하여 개발시에 버그를 잡을 수 있으며 고급 중단점을 설정하여 중단점 활성화 시점 지정하고 조사식 창, Data Tips, 시각화 도우미를 사용하여 중요한 데이터를 빠르게 확인할 수 있다. 또 WinDBG와 SOS, ADPlus와 같은 디버깅도구 사용법 및 디버깅 시의 코드 분석 활용 및 새로운 규칙 작성법을 배울 수 있다.

이 책의 구매 포인트!
디버깅 전문가인 저자가 전 세계를 돌아다니면서 직접 겪었던 극도로 해결하기 어려운 버그들을 간접 경험할 수 있다. 저자가 작성한 완성도 높은 코드를 통해 많은 가르침을 받을 수 있다. .NET 개발자들이 네이티브 환경과는 다른 상황에 직면한다는 점을 고려하여 과감하게 네이티브 환경은 배제하고 관리되는 환경만을 다루었다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.