HOME > 상세정보

상세정보

Debugging C+

Debugging C+ (46회 대출)

자료유형
단행본
개인저자
Pappas, Chris H., 1953- Murray, William H., 1943-, 저 이준하, 역
서명 / 저자사항
Debugging C++ / Chris H. Pappas, William H. Murray 저 ; 이준하 역
발행사항
서울 :   인포북,   2001  
형태사항
571 p. : 삽화 ; 26 cm
원표제
Debugging C++ : troubleshooting for programmers
ISBN
8980544294
일반주기
색인수록  
프로그래머를 위한 문제 해결!  
일반주제명
C++ (Computer program language) Debugging in computer science
000 00000nam c2200205 c 4500
001 000000709904
005 20170601102911
007 ta
008 010625s2001 ulka 001c kor
020 ▼a 8980544294 ▼g 93000
040 ▼a 211009 ▼c 211009 ▼d 211009
041 1 ▼a kor ▼h eng
049 1 ▼l 121053318 ▼f 과학 ▼l 121053319 ▼f 과학 ▼l 111190483 ▼f 개가 ▼l 121053404 ▼f 과학
082 0 4 ▼a 005.133 ▼2 21
085 ▼a 005.133 ▼2 DDCK
090 ▼a 005.133 ▼b 2001r
100 1 ▼a Pappas, Chris H., ▼d 1953-
245 1 0 ▼a Debugging C++ / ▼d Chris H. Pappas, ▼e William H. Murray 저 ; ▼e 이준하 역
246 1 9 ▼a Debugging C++ : ▼b troubleshooting for programmers
260 ▼a 서울 : ▼b 인포북, ▼c 2001
300 ▼a 571 p. : ▼b 삽화 ; ▼c 26 cm
500 ▼a 색인수록
500 ▼a 프로그래머를 위한 문제 해결!
650 0 ▼a C++ (Computer program language)
650 0 ▼a Debugging in computer science
700 1 ▼a Murray, William H., ▼d 1943-, ▼e
700 1 ▼a 이준하, ▼e

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/보존서고5(동양서)/ 청구기호 005.133 2001r 등록번호 121053318 (17회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 학술정보관(CDL)/B1 국제기구자료실(보존서고)/ 청구기호 005.133 2001r 등록번호 111190483 (6회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/보존서고5(동양서)/ 청구기호 005.133 2001r 등록번호 121053318 (17회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 학술정보관(CDL)/B1 국제기구자료실(보존서고)/ 청구기호 005.133 2001r 등록번호 111190483 (6회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

전문적인 기법과 전략을 이용하여 버그를 수정하며, 오류 가능성이 있는 코드 생성을 방지하기 위한 기술을 익히기 위한 책이다. 잘 알려진 버그나 별로 유명하지 않은 버그들을 어떻게 하면 쉽게 찾아낼 수 있는지 알려준다. 소프트웨어 버그는 혼란을 초래하며, 더 많은 수익의 획득을 막을 수 있다는 점에서 디버깅의 중요성은 더 말할 나위가 없을 것이다.

절차지향(procedure-oriented) 디버깅과 객체지향(object-oriented) 디버깅 모두를 설명하고 STL 디버깅 방법과 MFC를 이용한 윈도우 어플리케이션 디버깅에 대해서도 학습한다. 컴파일러를 이용한 코드 최적화 기법, 논리적 에러와 문법적 에러의 상세한 조사의 과정, 절차지향적 환경 및 코맨드 라인과 윈도우에서의 코드 디버깅, 코맨드 라인과 MFC(Microsoft Foundation Class) 라이브러리에서의 객체지향적 코드 에러 탐색과 분석, 그리고 오류 수정 등을 다루며 STL(Standard Template Library) 코드 디버깅 처리 기법과 DLL을 이용한 작업 및 ActiveX와 COM 에러 수정기법을 익힐 수 있도록 구성하였다.


정보제공 : Aladin

저자소개

Chris H. Pappas(지은이)

<Debugging C++>

William H. Murray(지은이)

<Debugging C++>

이준하(옮긴이)

정보제공 : Aladin

목차


목차

시작하기 전에 = 15

Part Ⅰ 코드 설계 기법

 Chapter 1 적합한 코드 작성

  이 책은 누구에게 필요한가? = 20

  교수법 = 21

  어디서부터 읽어야 하는가? = 21

  주의! 모든 C/C++ 컴파일러는 같지 않다 = 22

  언어 독립적 설계 툴 101 = 22

   스테이지 설정 = 23

   모델! = 24

   구조 차트, 슈도(Pseudo) 코드, IPO 다이어그램 = 24

  바람직한 프로그램 설계의 다섯 가지 요소 = 29

  법칙은 깨어지게 되어 있다 = 29

   Ansel Adams 또는 피카소 = 30

   주석란 = 30

   identifiers, IDENTIFIERS, Identifiers = 31

   간격(Spacing)과 들여쓰기(Indentation) = 32

  데이터 타입 = 39

  헝가리식 표기법(Hungarian Notation) = 42

   MFC, 핸들, 컨트롤, 구조의 명명법 = 43

   일반적인 접두사의 명명법 = 43

   변수 명명법 = 44

   어플리케이션 기호의 명명법 = 44

   마이크로소프트 MFC 매크로의 명명법 = 44

   라이브러리 식별자 명명법 = 44

   정적 라이브러리 버전의 명명법 = 45

   DLL 명명법 = 46

   windows.h 명명법 = 46

  연산자 우선 순위 = 47

  결론 = 48

 Chapter 2 컴파일러 활용

  여러분의 코딩 책임감과 컴파일러 활용 = 52

  마이크로소프트 비주얼 C++ 최적 활용 = 54

   명령 재배열 = 54

   함수 레벨 링크(Function-Level Linking) = 55

   스트링 풀링 = 55

   register 키워드 사용 = 55

   상수와 복사본의 전달 = 57

   Dead Code와 Dead Store의 제거 = 57

   장황한 부 표현(sub expression)의 제거 = 58

   루프의 최적화 = 59

   Strength 축소 = 59

   인라인 키워드의 사용 = 59

   프레임 포인터 생략 = 60

   스택 검사 비활성화 = 61

   스택 오버레이 = 62

   함수 호출에서 별명 사용(aliasing) 허용 = 62

   전역 최적화 = 63

   내연적 함수 인라인(Intrinsic Functions Inline) 생성 = 64

   math.h 최적화 = 64

  마이크로소프트 C++ 최적화 스위치 = 64

  컴파일러 옵션 설정을 위한 마이크로소프트 비주얼 스튜디오 사용 = 66

   Project Settings 대화 상자에서 General Category = 67

   Project Settings 대화 상자에서 Code Generation = 68

   Project Settings 대화 상자에서 Customize Category = 71

   Project Settings 대화 상자에서 Optimizations Category = 72

  빌드 추전 = 73

  결론 = 75

 Chapter 3 논리 에러 vs. 구문 에러

  좋은 디버그 전략 = 79

  에러의 네 가지 분류 = 80

   구문 에러 = 80

   링커 에러 = 81

   런타임 에러 = 82

   논리 에러 = 84

  에러 메시지 확인 = 85

  예방적 차원에서 프로그램의 작성 = 87

   설계상 검사! 이것이 무엇일까? = 87

  예외 처리를 위한 디자인 = 88

  "그들이 일할 수 있도록 도와라" = 89

  마이크로소프트 비주얼 C++ 도움말 = 90

  결론 = 92

 Chapter 4 디버거의 기초

  디버거가 사용 가능한지 학인 = 94

  디버거의 시작 = 95

   Step Into와 Step Over의 차이점 = 97

   Go = 98

   Run to Cursor = 98

  디버거 툴바 아이콘들의 이해 = 98

   Restart = 99

   Stop Debugging = 99

   Break Execution = 99

   Apply Code Changes, Edit, 그리고 Continue = 99

   Show Next Statement = 101

   Step Into = 101

   Step Over = 101

   Step Out = 101

   Run to Cursor = 101

   QuickWatch = 102

   Watch = 102

   Variables = 102

   Registers = 102

   Memory = 102

   Call Stack = 102

   Disassembly = 102

   디버거 툴바 메뉴 동치 = 103

  추가적인 Debug 메뉴 옵션들 = 103

   Step Into Specific Function = 103

   Exceptions = 103

   Threads = 104

   Modules = 104

  Local Menu 디버거 옵션 = 104

   List Members = 104

   Type Info = 104

   Parameter Information = 105

   Complete Word = 105

   Go To Definition/Reference = 106

   Go To Disassembly = 106

   Insert/Remove Breakpoint = 106

  Debugger Window = 106

   Trace Window = 107

   Watch Window = 107

  View 메뉴, Debugger Window = 108

   WorkSpace = 108

   Output = 108

  다른 데이터 타입으로서의 Watch 변수들 = 108

  Just-in-Time 디버깅 = 110

  Option 윈도우의 Debug 탭 = 111

   Hexadecimal Display = 111

   Source Annotation = 111

   Code Bytes = 111

   Symbols = 111

   Parameter Values = 112

   Parameter Types = 112

   Return Value = 112

   Load COFF & Exports = 112

   Address = 112

   Format = 112

   Re-evaluate Expression = 112

   Show Data Bytes = 112

   Fixed Width = 112

   Display Unicode Strings = 113

   View Floating Point Registers = 113

   Just-in-time Debugging = 113

   OLE RPC Debugging = 113

   Debug Commands Invoke Edit and Continue = 113

  Keyboard Map = 113

  디버거 키보드 단축키 = 114

  결론 = 115

 Chapter 5 디버그 vs 리릴즈 지원

  기본값 디버그 빌드 vs 릴리즈 빌드 설정 = 118

  디버그 빌드의 프로젝트 설정 변경 = 118

   디버그 옵션 변경 = 119

   생성된 디버그 정보의 포맷 변경 = 119

   Mapfile 생성 = 120

   디버그 Input과 Output을 리다이렉트하기 = 120

  .pdb 파일이란? = 121

  .dbg 파일이란? = 122

  최적화된 코드의 디버깅 = 123

  디버거를 사용할 수 있게 하는 또 다른 방법 = 125

  기본 버전 또는 디버그 버전을 사용하는 것에 대해 = 126

  C/C++ 런타임 디버그 라이브러리 = 127

   예전의 iostream.h와 신 버전의 iostream 때문에 생길 수 있는 혼동 = 128

  링커 레퍼런스 = 130

  디버그 빌드에서 릴리즈 버전 에러를 찾아내기 = 130

   지역 변수의 자동 초기화 = 132

   함수 포인터 Call Stack이 유효한지 확인 = 133

   Call Stack이 유효한지 확인 = 134

  Trace 매크로 = 134

  VERIFY 매크로 = 135

  이전의 32비트 버전의 비주얼 C++를 포팅하기 = 135

   예전의 32비트 Workspace와 Project 새 버전으로 컨버전하기 = 136

   이전 버전의 비주얼C++과 공존 = 136

  결론 = 137

Part Ⅱ 프로시저 기반의 환경

 Chapter 6 명령형 코드의 에러 위치, 분석, 수정하기

  디버깅 시작하기 = 142

   디버거를 시작하는 빠른 방법 = 143

   변수 초기화 추적하기 = 147

   Stroustrup의 C++ 코드가 아닌 여러분의 코드를 디버그하라! = 153

   나의 변수는 무엇을 포함하는가? = 156

   디버거 중 멈추기 = 157

   특정 코드 라인으로 나아가기 = 157

   빠른 속도로 breakpoint까지 실행하기 = 158

   커서까지 실행하기 = 159

   바로 테스트하라! = 159

  진보된 디버거 트릭 = 160

   새로운 값으로 실행하기 = 161

   디버깅 트릭 루프 돌기 = 168

   함수 호출 디버깅하기 = 171

   재귀 함수와 Call Stack = 177

   디스어셈블리 코드 보기 = 181

  변수 더 가까이 보기 = 185

   QuickWatch window 사용하기 = 185

   Watch window 사용하기 = 187

  결론 = 188

 Chapter 7 인라인 어셈블리 언어 디버깅

  간단한 어셈블리 언어 개요 = 190

   데이터 유형 = 190

   레지스터 = 191

   어드레싱 모드 = 191

   포인터 = 192

   코프로세서 = 193

  디버깅 = 194

   뺄셈하기 = 195

   256비트 정수 작업 = 200

   프로그래밍 루프 = 210

   코프로세서 실수 더하기 = 216

   코프로세서에서 탄젠트 값 계산 = 222

  결론 = 232

 Chapter 8 윈도우 코드의 에러를 찾고 분석, 수정하기

  두 대의 컴퓨터로 디버깅하기 = 234

   원격 타겟(Remote target) 컴퓨터 준비하기 = 235

   호스트 컴퓨터를 준비하기 = 237

   디버깅 시작하기 = 238

  간단한 윈도우 입문서 = 240

   기본 윈도우 코드 = 240

   특정한 디버깅 파일 = 242

   이 프로그램에서 무슨 일이 생긴 것일까? = 243

  디버깅 = 251

   움직이는 비트맵 프로그램 = 251

   마우스로 그리기 = 268

  결론 = 282

Part Ⅲ 객체지향적인 환경

 Chapter 9 명령형 코드의 에러를 찾고 분석, 수정하기

  발전된 디버깅 툴 = 286

   메모리 덤프 = 286

   잘못 넘어온 매개변수의 위치를 찾기 = 287

   어디서 포인터가 변경되었는지 찾기 = 290

  Class View 요소 = 301

   접근 권한에 따라 분류된 ClassView = 304

   ClassView 기본 클래스 = 305

   ClassView 레퍼런스 = 307

   ClassView 파생 클래스 = 308

   추가적인 Local ClassView 메뉴 = 309

   ClassView 멤버 속성 = 310

   ClassView에 폴더 더하기 = 310

   폴더들 간에 클래스 옮기기 = 311

   ClassView 숨기기 또는 보이기 = 311

  argc와 argv〔〕 디버깅 = 311

  결론 = 316

 Chapter 10 마이크로소프트 기반 클래스 라이브러리를 이용한 윈도우 프로그래밍

  왜 클래스 라이브러리를 사용하는가? = 318

  진정한 기반 클래스 - CObject = 319

  어플리케이션 마법사와 클래스 마법사란 무엇인가? = 322

  그래프 어플리케이션 = 323

   AppWizard 사용하기 = 323

   ClassWizard 사용하기 = 329

   AppWizard 코드 구성하기 = 331

   AppWizard의 템플릿 코드 = 332

   사용자 영역에서의 그래픽 개체 = 342

  프로파일링 = 346

  결론 = 352

 Chapter 11 MFC 윈도우 코드에서 에러를 찾고 분석, 수정하기

  메모리 문제 = 354

   문제점을 가진 코드 = 355

   에러 찾기 및 분석 = 358

   프로젝트의 보수 = 368

  표시 문제 = 373

   문제점을 가진 코드 = 374

   에러 탐색 및 분석 = 379

   프로젝트 보수 = 387

  결론 = 391

Part Ⅳ 표준 템플릿 라이브러리

 Chapter 12 STL 코딩 연습

  다중 아키텍처 = 396

  C++ 길들이기 = 397

  STL- 상자에서의 자료 구조? = 398

  STL-첫 번째 관찰 = 399

  STL과 휴렛 팩커드 = 399

  고급 기술로써의 STL = 400

  STL-"큰 그림" = 400

  STL ANSI/ISO C++ 인정 = 401

  STL의 기본적인 컴포넌트 = 401

   컨테이너란 무엇인가? = 402

   어댑터는 무엇인가? = 403

   알고리즘이란 무엇인가? = 404

   반복자란 무엇인가? = 405

   다른 STL 구성 요소는 없는가? = 405

  완벽한 STL 패키지 = 406

  Historic C, ANSI C, C++, ANSI C++ -HELP! = 407

  자료 구조 - 복습 = 408

   정적 대 동적 = 408

   Typed Pointers = 410

   Void Pointers = 410

  헝가리식 표기법 = 414

  오버로딩 함수 = 415

  함수 포인터 = 416

  연산자 오버로딩 = 419

   오버로딩된 연산자와 함수 호출 = 420

   나만의 오버로딩된 연산자 작성 = 420

  구조체를 넘어서 템플릿으로 = 423

   키워드 template = 424

   템플릿 구문 = 425

   템플릿 함수 = 425

   템플릿 클래스 = 426

  왜 템플릿보다 STL이 더 좋은가? = 427

  결론 = 428

 Chapter 13 STL 코드에서 에러를 찾고 분석, 수정하기

  표준 C++를 STL 구문으로 변환할 때의 문제점 = 430

   컨테이너 탐색 = 430

   반복자 - 더 자세하게 = 431

   스트림 반복자 = 432

   왜 end()를 써야 하나? = 433

  리스트의 복사 = 433

   리스트 안의 리스트 = 434

   STL 문자열 포인터 문제 = 435

   STL 포인터들의 회수 = 436

  C++를 STL 코드로 변환 = 437

   1단계 SingleCard 클래스의 업데이트 = 441

   2단계 WarDeck 클래스 업데이트 = 444

   3단계 STL 실행 에러 수정 = 449

   4단계 Opponent 클래스 업데이트 = 450

   5단계 STL 프로그램 동작 = 452

  STL wargame.cpp = 453

  결론 = 458

Part Ⅴ 특별한 디버깅 문제들

 Chapter 14 DLL 디버깅

  MFC 기반의 DLL 작성 = 463

   Framer.h 헤더 파일 = 465

   Framer.cpp 소스 코드 파일 = 466

   Framer.dll의 빌딩 = 469

  DLL을 사용하기 위해 주프로그램의 작성 = 470

   DLLDemoView.h 헤더 파일 = 472

   DLLDemoView.cpp 소스 코드 파일 = 472

  자세한 고찰을 위한 준비 = 480

   원격 디버깅 = 480

   문제가 있는 코드 = 483

   수정된 코드 = 487

  결론 = 488

 Chapter 15 ActiveX 컨트롤 디버깅

  ActiveX 컨트롤 개발 = 490

   ControlWizard의 사용 = 491

   Test Container = 495

   실제 Clock 컨트롤의 생성 = 497

  Clock 컨트롤 디버깅 = 507

   원격 타겟 컴퓨터의 준비 = 508

   호스트 컴퓨터의 준비 = 509

   디버깅 시작 = 510

   문제점 찾기 = 512

  결론 = 515

 Chapter 16 COM, ATL, DHTML 디버깅

  COM 객체 모델 = 518

  ATL Polygon 프로젝트의 작성 = 518

   템플릿 코드의 확장 = 524

   컨트롤 테스트 = 537

  ATL COM 컨트롤 디버깅 = 538

  결론 = 542

 Chapter 17 STL, MFC 코딩

  STL과 MFC 프로그램 작성 = 544

   복소수 = 544

   Template Syntax = 546

   기본 프로그램 코드 = 551

  디버깅 = 558

  결론 = 566

찾아보기 = 567



관련분야 신착자료

Harvard Business Review (2025)