22
Visual C++ 6.0 Compiler 사용법 Debugger 사용법 VLSI Design&Test Lab.

Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

Visual C++ 6.0

Compiler 사용법

Debugger 사용법

VLSI Design&Test Lab.

Page 2: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

Visual C++ 6.0 작업 순서 11. 프로젝트생성 (워크스페이스 자동생

성)

메인메뉴에서 [New]

프로젝트탭에서[Win32Console Application]

프로젝트명과 프로젝트의생성 위치 지정

Page 3: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

Visual C++ 6.0 작업 순서 2

첫번째 An empty project 선택

Page 4: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

Visual C++ 6.0 작업 순서 32. 프로젝트에 파일생성(추가)

메인메뉴에서 [New]

Files탭에서 Add to project에 체크 확인후

Files탭에서 [C++ source File]선택

파일명 지정

Page 5: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

Visual C++ 6.0 작업 순서 43. 코드작성

Page 6: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

Visual C++ 6.0 작업 순서 54. 빌드(컴파일+링크)와 실행

빌드방법

툴바의 아이콘을 누른다

단축키를 사용한다.

빌드 : F7

실행 : F5

Page 7: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

빌드가 끝난후 생성된 파일

Hello.dsw 파일은 Workspace 파일이고Hello.prj 파일은 Project 파일Hello.cpp 파일은 소스 파일Hello.ncb 파일은 인텔리센스 정보를 저장하고 있는 파일입니다.

실행파일은 Debug 폴더에 저장되게 됩니다.

Page 8: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

컴파일 과정

Link(Object file + Library)Compile

목적 파일(*.obj)

원시 파일(*.c, *.cpp, *.h)

실행 파일(*.exe)

원시파일 : 인간이 작성한 판독 가능한 코드

목적파일 : 기계어로 번역된 상태

비주얼 스튜디오에서는 빌드(Build)라는 용어가 등장하는데이는 컴파일과 링크를 순차적으로 실행하게 된다

Page 9: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

Visual C++ 6.0 파일처리

File 열기[File] – [Open] : .cpp 파일 열기

[File] – [Open Workspace] : .dsw 열기

Source File 보관시 .cpp 만 보관

에러 제어[F4] : 처음 에러행으로 이동

[Output Window] 에서 에러 메시지행을 Double Click하면 해당 행으로 이동

프로젝트에 파일 추가와 제거제거 : 해당파일에서 Delete 키를 누른다

추가 : [Project] – [Add to project] – [Files]

Page 10: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

Visual C++ 6.0 Debugger 사용법

디버그란?- 잘못된 Syntax로부터 비롯되는 오류

- 잘못된 데이터의 처리로 인한 계산 오류

- 잘못된 메모리 사용으로 메모리 누수

- 사용자에 의한 잘못된 데이터의 입력

- 사용자 환경으로부터 비롯되는 오류

- Hardware로부터 비롯되는 오류

- 나쁘게 짜여진 Logic

Page 11: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

Visual C++ 6.0 Debugger 사용법

Set debugging environmentVisual C++을 이용하여 디버깅 하기 위해서는, 다음 그림과 같이Set Active Project Configuration이 [Win 32 Debug]로 선택되어 있어야 합니다.

Page 12: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

디버그모드와 릴리즈모드 환경설정

디버그모드(Debug Mode)디버그 작업을 위해 각종 정보를 포함해서 컴파일하므로 이때 생성파일이 크고 속도상 최적화가 배제개발단게에서 디버깅을 하기 위해 사용

릴리즈모드(Release Mode)실행파일에 필요한 정보만 포함해서 컴파일하므로 이때생성파일이 작고 속도 최적화가 가능하다는 장점이 있다배포하기 위해 사용

[Build]-[Set Active Configuration] 에서 모드 선택

Page 13: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

Visual C++ 6.0 Debugger 사용법

Start and stop DebuggerVisual C++에서 디버깅을 시작하기 위해서는 다음 그림과 같이[Go] 메뉴를선택하거나 단축키인 <F5>키를 사용할 수 있습니다.

디버깅을 종료하기 위해서는 [Stop Debugging] 메뉴를 선택하거나단축키인 <Shift + F5>키를 사용할 수 있습니다. (디버깅과 관련된 메뉴는 Debugging 시에만 나타납니다)

Page 14: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

Visual C++ 6.0 Debugger 사용법

Breakpoint and Step

중단점(Breakpoint)는 프로그램 실행도중 디버깅을 하기위해서 일시적으로 정지해야 하는 지점을 말하며, Visual C++에서는 <F9>키를 사용하여 중단점을 설정/해제 할 수있습니다.디버깅 하는 동안 프로그램은 단계별로 실행되어지며, 이러한 단계를 Step이라는 용어를 사용하여 표현합니다.

Page 15: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

Visual C++ 6.0 Debugger 사용법

Step Into / Step Out / Step Over /

Visual C++은 단계적 디버깅을 지원하는 Step Into / Out/ Over 기능을 제공하고 있습니다.

Step Into 기능은 프로그램의 함수 안으로 들어가서 단계적으로 실행하는 기능입니다. (단축키 : <F11>)

Step Out 기능은 프로그램의 함수 밖으로 빠져나가는 기능입니다. (단축키 : <Shift + F11>)

Step Over 기능은 한번에 한 라인씩 실행하는 기능입니다. (단축키 : <F10>)

Page 16: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

Visual C++ 6.0 Debugger 사용법

BreakPoint F9

Step Over F10

Step Into F11

Step Out Shift+F11

if (GetAround(nx,ny,brick,rot) != EMPTY) break;nStay=nFrame;.....

int GetAround(int x,int y,int b,int r){

int i,k=EMPTY;for (...) { }i=SomeFunc()k=...;return k;

}

int SomeFunc() { ... }

F10

F11

F10

F10

F10

F10F11

Shift+F11

Page 17: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

Visual C++ 6.0 Debugger 사용법

Check variables

디버깅을 하는 도중 변수의 값의 변화를 점검하기 위해서 Visual C++에서는 Variabls라는 도구를 제공하고있습니다.

Page 18: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

Visual C++ 6.0 Debugger 사용법

Watch

특정한 변수의 값을 조회 및 수정하기 위해서Watch 윈도우가 사용되어 집니다. 단축키 : <Alt + 3>

Page 19: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

Visual C++ 6.0 Debugger 예제

소스

결과

#include <stdio.h>#include <stdlib.h>void Set(char *src, int value){

*src = value;}

void main(){

char *a, *b;a = b = NULL;a = (char*)malloc(sizeof(char));Set(a, 5);Set(b, 3);printf("%d + %d = %d₩r₩n", *a, *b, *a+*b);

}

Page 20: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

Visual C++ 6.0 Debugger 예제-1

Variables창

(실행중인 코드의 변수 내용을 표시)

Watch 창

(식과 변수의 값을 표시 )

Page 21: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

Visual C++ 6.0 Debugger 예제-2

수정 후 소스

결과

#include <stdio.h>#include <stdlib.h>void Set(char *src, int value){

*src = value;}

void main(){

char *a, *b;a = b = NULL;a = (char*)malloc(sizeof(char));b = (char*)malloc(sizeof(char));Set(a, 5);Set(b, 3);printf("%d + %d = %d₩r₩n", *a, *b, *a+*b);

}

Page 22: Visual C++ 6 - SKKUlab.icc.skku.ac.kr/~vlsitest/pro_lab/download/VC++6.0... · 2010-02-22 · Visual C++ 6.0 Debugger 사용법 zSet debugging environment Visual C++을이용하여디버깅하기위해서는,

감사합니다.