( Windows Service Application Debugging )

Slides:



Advertisements
Similar presentations
CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
Advertisements

Debugging in the Eclipse 발표자 : 정영권 ANU NGN Lab.
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
© 2012 생능출판사 All rights reserved 쉽게 풀어쓴 C 언어 Express C Express 제 2 장 프로그램 개발과정.
엑셀리포트를 이용한 날짜별 리포트 자동 저장 방법
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
제2장 프로그램 개발과정 C Express.
Security Solutions (S/W) - Fortify
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발 과정 C Express.
OpenCV 안드로이드 연동 환경설정 OpenCV-Android 를 다운 받습니다.
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발과정 C Express Slide 1 (of 31)
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++로 프로그래밍한다는 것의 의미 세상에서 가장 간단한 C++ 프로그램
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++ 프로그래밍 기초 : 객체지향의 시작 C++로 프로그래밍한다는 것의 의미
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Image & Video processing
Power Java 제3장 이클립스 사용하기.
Power Java 제3장 이클립스 사용하기.
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발과정 C Express.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
Power Java 제2장 자바 개발 도구.
CUDA Setting : Install & Compile
C 언어 1 1주차 C언어 시작하기 - 1차시 C 언어 특징 및 프로젝트 생성 Programming Language.
J2ME Install 부산대학교 인공지능 연구실.
디버깅 환경 및 방법 Lecture #14.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
C / C++ Programming in multi platform
Visual Basic .NET 처음 사용하기.
1. C++ 시작하기.
디버깅 환경 및 방법 Lecture #14.
26. 매크로와 전처리기.
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
ARM Development Suite v1.2
Cross Compiler 설치.
Sungkyunkwan University OS Project Dongkun Shin
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
MunChan Park Windows Platform Developm ent MVP w10app
Android studio로 Application 만들기.
MunChan Park Windows Platform Developm ent MVP w10app
Eclipse 를 이용한 네트워킹 퍼즐 게임 “Scrambled Net” 담당 교수님 전진우 교수님 최은아.
Method & library.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
자바응용.
비주얼 프로그래밍 1분반 화/목.
7가지 방법 PowerPoint에서 공동 작업하는 다른 사용자와 함께 편집 작업 중인 사용자 보기
이름 : 황 상 두 전화번호 : 이메일 : PinTool 이름 : 황 상 두 전화번호 : 이메일 :
Device Driver 임베디드 시스템 I.
Quiz #7 다음 수들을 합병 정렬과 퀵 정렬 알고리즘을 이용하여 오름 차순으로 정렬하였을 때, 데이터 이동 회수를 각각 구하라. 여러분은 정렬 과정을 단계별로 보이면서 이동 회수를 추적해야 한다. 단, 퀵 정렬시에 피봇으로 배열의 왼쪽 첫 번째 원소를 선택한다. 5.
WindowsXP 설치와 동시에 해야 할 일 Windows XP 완벽한 설치
영상처리 실습 인공지능연구실.
Day-27(Tue_10.16) 파일 서비스 설정 AD 가 설치된 환경에서 DHCP 설치 할 경우 권한 자격을 주어야함.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
컴퓨터 개론 및 실습 1주차 2015년 03월 05일.
빌드 성공.
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
OpenCV 설정 2.21 만든이 딩딩.
STS 또는 Eclipse 에서 프로젝트를 Export 하고 Import 하는 방법
13주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
05. General Linear List – Homework
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
원도우 네트워크 프로그래밍 (TCP/IP 소켓 프로그래밍)
과제 4: Thread (5월 9일까지) 4장 연습문제 풀이
동적메모리와 연결 리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
CODE INJECTION 시스템B 김한슬.
Platform Builder 사용법.
Presentation transcript:

( Windows Service Application Debugging ) 2007. 8. 24. (금) Presenter 박상진 바이러스 체이서(VirusChaser 실시간 감시 드라이버팀 개발자) 핵심 검색 단어 ( Keywords ) 1. Visual Studio Windows 서비스 응용 프로그램 디버깅 2. Windows 서비스 디버깅 3. Microsoft CLR Debugger 4. 비주얼 스튜디오 디버깅 방법 5. 디버깅 테크닉

디버그( Debug ) 오류 수정 프로그램과 그 작업을 통칭하는 말 디버깅( Debugging ) 작업에 중점을 둔 어휘 디버거( Debugger ) 프로그램의 오류를 발견하고 그 원인을 밝히는 작업 또는 그 프로그램.

.NET 환경(Visual Studio 2005 버전) Visual C++ 6.0 Windows 서비스 프로그램의 디버깅 Build > Start Debug > Attach to Process... 실행 방법 .NET 환경(Visual Studio 2005 버전) [그림 1] [그림 2]

주의 사항 서비스로 돌릴 프로젝트를 Debug 모드로 컴파일하고, 생성된 .exe 파일을 SCM(Service Control Manager)를 통해서 서비스 실행 서비스로 돌릴 프로그램 소스코드에서 Break point 설정 디버그 > 프로세스에 연결.. 실행중인 서비스 프로세스와 연결해서 디버깅 한다. * 서비스 프로그램은 SCM 에 의해서 실행되므로 디버깅이 안된다. -> 일반 응용 프로그램 처럼 -> 바로 실행 하지 않기 때문에 디버깅이 안된다. -> 그러므로 서비스 프로그램을 먼저 돌려놓고 -> Visual Studio .NET Tool 에서 디버그 > 프로세스 연결… 을 통해서 디버깅 가능하다. 이러한 이유로, Main 또는 OnStart 프로시저에서 코드를 디버그 할 수 없다. (소스 참고로 이해할 것 !!)

Main() OnStart 프로시저

주의 Sleep() 함수 사용할 것 !! Sleep() 함수를 사용하여 SCM(Service Control Manager)에 의해 실행된 서비스 프로그램 내의 디버깅할 Breakpoint 부분을 지나지 않게 해야 한다. 서비스 프로그램 소스 내에 Sleep() 함수를 넣어주어야 한다.

서비스 실행 프로그램 Main() 함수

첨가 Sleep() 함수 Break point 지정

서비스 프로그램의 디버깅이 가능하다

서비스 프로그램 실행 과정 Windows 서비스 응용 프로그램을 디버깅 할 때, 서비스와 SCM(Service Control Manager) 는 상호 작용합니다. -> SCM 은 -> OnStart() 를 호출하여 -> 서비스를 시작한 다음 -> OnStart() 가 반환될 때까지 30초를 기다립니다. -> 시간 안에 함수가 반환되지 않으면 -> SCM 은 서비스를 시작할 수 없다는 오류를 표시합니다. OnStart() 를 디버깅할 때는, 이 30초라는 시간에 유의 -> OnStart() 에 Break point 를 설정한 경우 -> 단계별 코드 실행이 30초 안에 이 함수까지 도달하지 않으면 SCM 에서 서비스를 시작하지 않는다.