이쿠의 슬기로운 개발생활

함께 성장하기 위한 보안 개발자 EverNote 내용 공유

반응형

Tool 사용법/WinDBG 4

WinDBG 프로세스 디버깅 (유저모드 라이브 디버깅)

WinDBG 프로세스 디버깅 (유저모드 라이브 디버깅) 실행 중인 프로세스를 WinDbg 로 디버깅 Visaul studio 의 디버깅과 동일함 솔직히 그냥 Visual studio 로 보는게 편함 프로세스 WinDbg 연결 방법 1. Attach to a Process WinDbg 상단 메뉴의 File > Attach to a Process 이미 실행 중인 프로세스를 디버깅함 2. Open Executable WinDbg 상단 메뉴의 File > Open Executable 실행파일을 WinDbg 로 열기 단축키 명령어 설명 F5 명령창 : g break point 전까지 실행 Ctrl + Pause Break 일시 정지 F10 Step Over F11 Step into F9 명령창 : bp 실행파일!..

WinDBG Dump 파일 디버깅 (유저모드 덤프 디버깅)

WinDBG Dump 파일 디버깅 (유저 모드 덤프 디버깅) 실행 중인 프로세스를 WinDbg로 디버깅 Visaul studio 의 디버깅과 동일함 솔직히 그냥 Visual studio 로 보는 게 편함 Dump 파일 WinDbg 연결 방법 1. Open Crash Dump = WinDbg 상단 메뉴의 File > Open Crash Dump 2. Drag and Drop WinDbg 로 덤프 파일 open 후 확인해야 할 사항 1. 덤프 파일 종류 [전체 덤프] User Mini Dump File with Full Memory 응용프로그램이 사용하던 모든 메모리가 유효 [미니 덤프] User Mini Dump File 레지스터, 스택, 메모리 포인터만 유효 2. 운영제체 종류 3. Process Upt..

WinDBG Symbol File 이란?

Symbol File (심볼 파일) 이란? 디버그 심볼 파일이란 실행 파일을 빌드할 때 생성되는 디버그용 파일. 심볼 파일이 or 심볼이라고 불러짐 심볼 파일에 포함되는 정보 실행 파일안에 존재하는 함수, 변수의 이름, 위치, 소스 파일, 소스 라인 정보. Visual studio나 WinDbg 같은 비거거는 이 심볼 파일을 이용해 소스 라인 디버깅을 가능하게 함 심볼 파일 생성법 Visual studio 의 경우 Debug 빌드 시 자동 생성 Release 빌드는 생성 되지 않음 하지만 Release 빌드라도 심볼 파일은 생성해놔야 함 (디버깅을 위해) Relase 빌드에서 심볼 생성 방법 1. 프로젝트 메뉴의 속성 2. 상단의 구성(Configuration) 을 [Release] or [All Con..

WinDBG 사용법

WinDbg란? Windows OS에서 실행되는 제품을 개발한 후 사용중인데 프로그램이 갑자기 종료되거나 오류가 발생하는 경우가 생길 수 있음. 이런 경우 개발자는 본인이 만든 제품에 문제가 있을 시 원인을 찾아야하는데 이러한 오류를 분석하는 과정을 디버깅이라고 함. Windows 경우에는 프로그램이 runtime error가 발생하거나 원인 불명으로 종료되는 경우 당시의 상황을 파일형태로 남겨놓을 수 있는데 그 파일을 Dump파일이라고 함. 그렇다면 개발자는 이러한 Dump파일을 분석해야 정확한 오류의 원인을 파악하고 프로그램을 수정할 수 있음. WinDbg는 개발자가 Dump파일을 분석할 때 사용할 수 있는 Tool임. MS에서 배포하는 Windows OS 전용 디버깅 툴로 유져모드 어플리케이션, 드..

반응형