본문 바로가기
장바구니0

Windows Debugging > 프로그래밍/언어

상품간략정보 및 구매기능

Windows Debugging

기본설명

상품 선택옵션 0 개, 추가옵션 0 개

제조사 에이콘출판
원산지 국내산
브랜드 에이콘출판
시중가격 55,000원
판매가격 49,500원
배송비결제 주문시 결제
최소구매수량 1 개
최대구매수량 999 개
  • Windows Debugging
    +0원

관련상품

등록된 관련상품이 없습니다.

  • 상품 정보

    상품 상세설명

    Windows Debugging

    9791161752228.jpg

    도서명:Windows Debugging
    저자/출판사:최바울,이태화,김희준,김성현/에이콘출판
    쪽수:1096쪽
    출판일:2019-01-02
    ISBN:9791161752228

    목차
    1장. WinDbg에 대해
    __1.1 WinDbg란
    ____1.1.1 WinDbg의 주요 기능
    ____1.1.2 WinDbg의 용도
    ____1.1.3 WinDbg와 SoftICE
    __1.2 WinDbg 디버깅의 종류
    ____1.2.1 유저모드 디버깅과 커널모드 디버깅
    ________1.2.1.1 유저모드 디버깅
    ________1.2.1.2 커널모드 디버깅
    ____1.2.2 라이브 디버깅과 덤프 디버깅
    ________1.2.2.1 라이브 디버깅
    ________1.2.2.2 덤프 디버깅
    ____1.2.3 유저 덤프와 커널 덤프
    ________1.2.3.1 유저 덤프
    ________1.2.3.2 커널 덤프
    __1.3 WinDbg 디버깅 용어
    ____1.3.1 디버거와 디버기
    ____1.3.2 블루스크린
    ____1.3.3 버그체크
    ____1.3.4 디버그 심볼 파일
    ________1.3.4.1 비주얼 스튜디오 2017에서 MyApp 속성 설정
    ________1.3.4.2 비주얼 스튜디오 2017에서 MyDrv 속성 설정
    ________1.3.4.3 비주얼 스튜디오 2015에서 MyApp 속성 설정
    __1.4 WinDbg 지원 범위
    ____1.4.1 윈도우 NT 계열 운영체제
    ____1.4.2 64비트 지원
    __1.5 WinDbg 명령
    ____1.5.1 WinDbg 명령이란
    ________1.5.1.1 일반 명령
    ________1.5.1.2 메타 명령
    ________1.5.1.3 확장 명령
    ____1.5.2 명령줄 구분
    ____1.5.3 명령별 사용 조건
    __1.6 실습 환경 구성
    ____1.6.1 WinDbg 다운로드
    ____1.6.2 비주얼 스튜디오 2017과 WDK 설치
    ____1.6.3 Windows SDK로 WinDbg만 설치
    ____1.6.4 WinDbg 버전
    ____1.6.5 예제 구성
    __1.7 정리

    2장. WinDbg 시작하기
    __2.1 유저모드 라이브 디버깅
    ____2.1.1 WinDbg 실행
    ____2.1.2 디버거 연결
    ________2.1.2.1 WinDbg에서 MyApp.exe 실행하기(디버거에서 디버기 실행하기)
    ________2.1.2.2 실행 중인 MyApp.exe에 WinDbg 붙이기(디버거를 디버기에 붙이기)
    ________2.1.2.3 MyApp.exe 실행 중 문제가 발생했을 때 자동으로 WinDbg 실행하기
    ____2.1.3 심볼 파일 로드
    ________2.1.3.1 운영체제 심볼 경로 설정과 로드
    ________2.1.3.2 MyApp.exe 심볼 경로 설정과 로드
    ____2.1.4 실행 및 정지
    ____2.1.5 브레이크 포인트 설정과 해제
    ________2.1.5.1 브레이크 포인트 설정
    ________2.1.5.2 브레이크 포인트 해제
    ____2.1.6 콜 스택 확인
    ____2.1.7 소스 연결해서 소스 창 열기
    ____2.1.8 Trace, Step으로 진행
    ____2.1.9 지역변수 확인
    ____2.1.10 와치 창으로 전역변수 확인
    __2.2 커널모드 라이브 디버깅
    ____2.2.1 디버거 시스템을 디버기 시스템에 붙이기
    ________2.2.1.1 가상머신 연결
    ________2.2.1.2 VirtualKD로 연결
    ________2.2.1.3 네트워크로 연결
    ________2.2.1.4 시리얼 케이블로 연결
    ________2.2.1.5 IEEE 1394(firewire) 케이블로 연결하기
    ________2.2.1.6 운영체제별 디버기 설정
    ____2.2.2 MyDrv.sys 드라이버 실행
    ____2.2.3 정지 및 실행
    ____2.2.4 심볼 파일 로드
    ____2.2.5 브레이크 포인트 설정과 해제
    ____2.2.6 콜 스택 확인.
    ____2.2.7 소스 연결해서 소스 창 열기
    ____2.2.8 Trace, Step으로 진행
    ____2.2.9 지역변수 확인
    ____2.2.10 전역변수 확인
    __2.3 정리

    3장. WinDbg로 디버깅하기
    __3.1 유저모드 덤프 디버깅
    ____3.1.1 덤프 파일 수집
    ________3.1.1.1 윈도우 10에서 덤프 파일 수집
    ________3.1.1.2 윈도우 XP에서 덤프 파일 수집
    ____3.1.2 덤프 파일 열기
    ____3.1.3 모듈 정보 보기
    ____3.1.4 심볼 맞추기
    ____3.1.5 콜 스택 보기
    ________3.1.5.1 콜 스택 창에서 마지막 함수 살펴보기
    ________3.1.5.2 문제가 발생한 이유 추측하기
    ____3.1.6 로컬 창으로 변수 보기
    ________3.1.6.1 죽은 함수를 호출한 함수 살펴보기
    ________3.1.6.2 문제가 발생한 이유 분석하기
    ________3.1.6.3 수정 방법 찾기
    ____3.1.7 와치 창으로 메모리 보기
    ____3.1.8 메모리 창으로 메모리 보기
    ____3.1.9 프로세스와 스레드 보기
    __3.2 커널모드 덤프 디버깅
    ____3.2.1 덤프 파일 수집
    ____3.2.2 덤프 파일 열기
    ____3.2.3 !analyze -v 메시지 보기
    ____3.2.4 모듈 정보 보기
    ____3.2.5 심볼 맞추기
    ____3.2.6 콜 스택 보기
    ________3.2.6.1 콜 스택 창에서 마지막 함수 살펴보기
    ________3.2.6.2 죽은 이유 추측하기
    ____3.2.7 로컬 창으로 변수 보기
    ________3.2.7.1 죽은 함수를 호출한 함수 살펴보기
    ________3.2.7.2 문제가 발생한 이유 분석하기
    ________3.2.7.3 수정 방법 찾기
    ____3.2.8 와치 창으로 메모리 보기
    ____3.2.9 메모리 창으로 메모리 보기
    __3.3 정리

    4장. 유저모드 디버깅 케이스 스터디
    __4.1 기본 케이스 스터디
    ____4.1.1 잘못된 메모리 사용
    ____4.1.2 프로세스의 CPU 사용률이 100%를 기록할 때
    ________4.1.2.1 프로세스 익스플로러를 이용한 방법
    ________4.1.2.2 성능 모니터를 이용한 방법
    ________4.1.2.3 WinDBG를 이용한 방법
    ____4.1.3 데드락이 발생해 멈춘 경우
    ________4.1.3.1 이벤트 찾기
    ________4.1.3.2 크리티컬 섹션 찾기
    ____4.1.4 핸들 누수
    ________4.1.4.1 작업 관리자로 누수 확인
    ________4.1.4.2 성능 모니터로 누수 확인
    ________4.1.4.3 성능 로그를 통해 누수 확인
    ________4.1.4.4 프로세스 익스플로러를 이용한 핸들 누수 찾기
    ________4.1.4.5 WinDbg로 핸들 누수 찾기
    ____4.1.5 메모리 누수
    ________4.1.5.1 작업 관리자로 누수 확인
    ________4.1.5.2 성능 모니터로 누수 확인
    ________4.1.5.3 UMDH로 확인
    ____4.1.6 버퍼 오버플로우
    __4.2 어셈블리와 스택의 이해
    ____4.2.1 어셈블리 기초
    ____4.2.2 스택의 이해
    ____4.2.3 호출 규칙
    ____4.2.4 64비트 스택의 이해
    ________4.2.4.1 64비트 콜 스택 추적
    ________4.2.4.2 64비트 콜 스택에서 파라미터 찾기
    __4.3 고급 케이스 스터디
    ____4.3.1 예제 1: 잘못된 파라미터 전달
    ____4.3.2 예제 2: Drwtsn32 로그 파일 분석
    ____4.3.3 예제 3: MAP 파일을 이용한 분석
    ____4.3.4 윈도우 에러 리포트
    __4.4 WinDbg Preview
    ____4.4.1 WinDbg Preview 설치
    ____4.4.2 WinDbg Preview Time Travel Debugging
    __4.5 정리

    5장. 커널모드 디버깅 케이스 스터디
    __5.1 기본 케이스 스터디
    ____5.1.1 BugCheck 0x50
    ____5.1.2 BugCheck 0xD6
    ____5.1.3 BugCheck 0xC1
    ____5.1.4 BugCheck 0xC4-60
    ____5.1.5 BugCheck 0xCE
    ____5.1.6 BugCheck 0x7F
    ____5.1.7 BugCheck 0xD1
    ____5.1.8 BugCheck 0xF7
    ____5.1.9 커널모드 행 디버깅
    ____5.1.10 커널모드 데드락 디버깅
    __5.2 고급 케이스 스터디
    ____5.2.1 BugCheck 0xA(분석 가능한 예제)
    ________5.2.1.1 윈도우 XP에서 분석
    ________5.2.1.2 윈도우 10에서 분석
    ____5.2.2 BugCheck 0xA(분석 불가능한 예제)
    ____5.2.3 BugCheck 0x19(분석 가능한 예제)
    ____5.2.4 BugCheck 0x19(분석 불가능한 예제)
    ____5.2.5 BugCheck 0x8E
    __5.3 실전 케이스 스터디
    ____5.3.1 BugCheck 0x50: UNICODE_STRING
    ____5.3.2 BugCheck 0x50: 숨겨진 콜 스택
    ____5.3.3 BugCheck 0x50: 해제된 핸들
    ____5.3.4 BugCheck 0x1A: 페이지 손상
    ____5.3.5 BugCheck 0xC5: 풀 헤더 손상
    ____5.3.6 BugCheck 0xC5: 해제 리스트 손상
    ____5.3.7 BugCheck 0x133: DPC_WATCHDOG_VIOLATION
    ____5.3.8 Hang: CPU 과점유
    ____5.3.9 Hang: 좀비 프로세스
    ____5.3.10 Hang: 완료되지 않는 IRP
    ____5.3.11 Hang: 위험한 락 사용
    __5.4 커널 리버싱 스터디
    ____5.4.1 핸들 테이블 탐험 I
    ____5.4.2 핸들 테이블 탐험 II
    ____5.4.3 프로세스 경로 획득
    ____5.4.4 섹션 오브젝트에서 파일 경로 획득
    __5.5 드라이버 확인 프로그램
    ____5.5.1 드라이버 확인 프로그램 실행
    ____5.5.2 명령 프롬프트에서 설정
    __5.6 정리

    6장. 고급 디버깅
    __6.1 WinDbg 사용 팁
    ____6.1.1 조건 브레이크 포인트
    ____6.1.2 심볼 스토어 생성
    ____6.1.3 유저모드 원격 디버깅
    ________6.1.3.1 문제의 응용 프로그램(notepad.exe)이 실행 중인 PC1
    ________6.1.3.2 WinDbg를 실행해 실제로 디버깅을 하려는 PC2
    ____6.1.4 커널모드 원격 디버깅
    ____6.1.5 커널모드 디버깅으로 유저모드 디버깅하기 1
    ____6.1.6 커널모드 디버깅으로 유저모드 디버깅하기 2
    ____6.1.7 Event ID 2019 비페이징 풀 부족 원인 찾기
    __6.2 WinDbg Tools
    ____6.2.1 breakin.exe
    ____6.2.2 logger.exe, logviewer.exe
    ____6.2.3 ADPlus.exe(vbs)
    ________6.2.3.1 크래시 모드
    ________6.2.3.2 행 모드
    __6.3 WinDbg 스크립트
    ____6.3.1 첫 번째 스크립트
    ____6.3.2 두 번째 스크립트
    ____6.3.3 세 번째 스크립트
    __6.4 WinDbg 확장 DLL
    ____6.4.1 확장 DLL 예제
    ____6.4.2 확장 DLL 만들기
    __6.5 정리

    7장. WinDbg 명령어
    __7.1 일반 명령
    ____7.1.1 dt(Display Type)
    ____7.1.2 S(Search Memory)
    ____7.1.3 ds, dS(Display String)
    ____7.1.4 da, du(Display Memory: ASCII, Unicode)
    ____7.1.5 dl(Display Linked List)
    ____7.1.6 dds(Display Words and Symbols)
    ____7.1.7 x(Examine Symbols)
    ____7.1.8 uf(Unassemble Function)
    ____7.1.9 ub(Unassemble ? b parameter)
    ____7.1.10 ?(Evaluate Expression)
    __7.2 메타 명령
    ____7.2.1 .kdfiles(Set Driver Replacement Map)
    ____7.2.2 .reboot(Reboot Target Computer)
    ____7.2.3 .crash(Force System Crash)
    ____7.2.4 .dump(Create Dump File)
    ____7.2.5 .hh(Open HTML Help File)
    ____7.2.6 .symfix(Set Symbol Store Path)
    ____7.2.7 .reload(Reload Module)
    ____7.2.8 .enable_unicode(Enable Unicode Display)
    ____7.2.9 .enable_long_status(Enable Long Integer Display)
    ____7.2.10 .formats(Show Number Formats)
    __7.3 확장 명령
    ____7.3.1 !object
    ____7.3.2 !handle
    ____7.3.3 !process
    ____7.3.4 !stacks
    ____7.3.5 !drvobj
    ____7.3.6 !devobj
    ____7.3.7 !devstack
    ____7.3.8 !fileobj
    ____7.3.9 !for_each_module
    ____7.3.10 !vm
    ____7.3.11 !sym
    ____7.3.12 !poolfind
    ____7.3.13 !dml_proc
    ____7.3.14 !fltkd
    __7.4 MEX 디버그 익스텐션 명령
    ____7.4.1 !mex.help
    ____7.4.2 !mex.mheap
    ____7.4.3 !mex.p
    ____7.4.4 !mex.addr
    ____7.4.5 !mex.eresource(eres)
    ____7.4.6 !mex.deviceobject(devo)
    ____7.4.7 !mex.driverobject(drvo)
    ____7.4.8 !mex.dtpool(dtp)
    ____7.4.9 !mex.evt
    ____7.4.10 !mex.fileobject(fo)
    ____7.4.11 !mex.foreachcpu(fec)
    ____7.4.12 !mex.foreachprocess(fep)
    ____7.4.13 !mex.listticks(lticks)
    ____7.4.14 !mex.mirp
    ____7.4.15 !mex.mirpfind
    ____7.4.16 !mex.mreg
    ____7.4.17 !mex.obj
    ____7.4.18 !mex.parsemem
    ____7.4.19 !mex.tag
    ____7.4.20 !mex.tasklist(tl)
    ____7.4.21 !mex.vadmodules(vadm)
    ____7.4.22 !mex.vss
    ____7.4.23 !mex.wq
    ____7.4.24 !mex.count
    ____7.4.25 !mex.cut
    ____7.4.26 !mex.ddt
    ____7.4.27 !mex.dumpinfo
    ____7.4.28 !mex.grep
    ____7.4.29 !mex.t
    ____7.4.30 !mex.dumpstackstrings(dss)
    ____7.4.31 !mex.executive
    ____7.4.32 !mex.listthreads(lt)
    ____7.4.33 !mex.ready
    ____7.4.34 !mex.running(cpu)
    ____7.4.35 !mex.searchthreadstacks(sts)
    ____7.4.36 !mex.standby(sby)
    ____7.4.37 !mex.suspended
    ____7.4.38 !mex.uniquestacks(us)
    ____7.4.39 !mex.userrequest
    ____7.4.40 !mex.wrlpcreceive(lpcs)
    ____7.4.41 !mex.wrresource
    ____7.4.42 !mex.imports
    ____7.4.43 !mex.mods
    __7.5 정리
    delivery.jpg
  • 사용후기

    사용후기가 없습니다.

  • 상품문의

    상품문의가 없습니다.

  • 배송/교환정보

    배송정보

    배송업체 : 한진택배 (1588-0011)
     배송비
     2,500원 (25,000원 이상 구매 시 무료 배송/일부상품제외) 군부대 및 도서산간 지역은 추가 배송비가 발생할 수 있습니다.
     ◆배송기간
     : 평일 오전 7시 이전 주문 시 당일 발송 (2~3일 소요) : 단, 공휴일, 연휴, 천재지변 등으로 인해 발송이 지연될 수 있습니다.
     ◆배송추적
     : 당일 발송건에 한해 익일 오전 9시 이후 확인 가능합니다.


    교환/반품

     ◆반품/교환을 원하는 경우 반드시 고객센터로 연락 후 신청하시기 바랍니다.
     ◆반품/교환은 상품 수령일로 부터 7일 이내에만 가능합니다. 단, 상품이 훼손되지 않았거나, 속 비닐이 있는 경우 듣지 않았을    때 가능합니다.
     •고객님의 변심 또는 잘못 주문하신 경우에는 왕복 배송비는 고객님의 부담입니다.
     ◆오배송, 파본, 불량 상품에 대해서는 고객센터로 연락주시면 상담 후 교환해 드립니다.
     ◆오배송, 파본, 불량상품의 배송비는 환불처에서 부담합니다.
     교환/반품
     ◆환불은 상품이 환불에 도착 시 처리됩니다. (카드 취소는 3~5일이 소요될 수 있습니다.)

고객센터 1234-5678

회사명 (주)꼭대기 주소 서울 특별시 마포구 연희로 11,5층 S-537호
사업자 등록번호 795-87-00429 대표 오주봉 전화 02-356-5779 팩스 02-356-5779
통신판매업신고번호 제2017-서울마포-0052호 개인정보 보호책임자 dhwnqhd

Copyright © 2001-2013 (주)꼭대기. All Rights Reserved.

상단으로