블로그 이미지
Every unexpected event is a path to learning for you.

카테고리

분류 전체보기 (2737)
Unity3D (817)
Programming (474)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (228)
협업 (58)
3DS Max (3)
Game (12)
Utility (136)
Etc (96)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (53)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday
04-25 09:56

이번 메일진에는 BugTrap이라는 공개 에러 리포트 라이브러리에 대해서 간단히 소개하겠습니다.^^

최근에 제가 가입한 스터디카페를 통해 알아서현재 사용중에 있는데 상당히 편리하고 괜찮은 물건입니다.

VS가 설치되지 않은 PC에서(즉 개발자가 아닌 사용자의 PC에서게임이나 툴들이 에러가 났을 때(소위 뻑났을 때원인을 분석하는 방법중에 가장 유용한 방법이 미니덤프파일(*.dmp)파일을 남겨서 덤프파일을 분석 하는 방법입니다.

버전만 맞는 소스코드와 PDB파일만 있다면에러가 났을때의 상황을 거의 100%재현이 가능하고 분석도 용이하게 해주는 방법입니다.

에러가 난 코드와 뻑이 났을때의 변수값이나 콜스택등을 바로 분석할 수 있죠.

 

에러난 PC에서 dmp파일을 남긴 후이것을 개발자 PC로 전송받는 방법은 여러 가지가 있습니다일반적으로 FTP서버나, HTTP서버로 전송을 받는데이러한 기능을 자동으로 해주는 공개 라이브러리가 지금 소개할 “BugTrap”입니다.

장점은 라이브러리만 제공하는 게 아니라. TCP서버나 HTTP서버(Web) 설치 버전도 제공이 되며에러 리포트에 덤프 파일뿐만 아니라에러가 발생한 PC의 사양 등이 포함된 에러 로그 파일과 에러날  당시의 스크린샷파일도 같이 보내준다는 것입니다.

내부에 Zip라이브러리까지 포함하고 있어서 이러한 에러 리포트 파일들은 zip으로 압축되어 전송되기 때문에용량에 대한 부담도 자동으로 해결해 줍니다.

 

아래 내용은 제가 회사에서 사용하기 위해서 간단한 Overview로 작성한 내용입니다더욱 자세한 내용을 원하시면 BugTrap링크 페이지에 가시면 자세한 소개를 보실수 있으며무료로 다운받으실 수 있습니다.

 

1. BugTrap 소개  분석

1.1. BugTrap (http://www.codeproject.com/tools/BugTrap.asp)

 

l         Code Project에 존재하는 공개 에러 리포트 라이브러리

l         BugTrap 라이브러리를 사용한 프로그램이 에러가 발생하게 되면미니덤프 파일(.dmp), 에러 로그(.xml), 스크린샷(.bmp)등을 생성한 후 zip파일로 생성 파일들을 압축하여로컬 컴퓨터에 저장하거나 BugTrap 서버로 전송할 수 있다.

l         BugTrap Server 프로그램을 이용하면자동으로 HTTP서버(Web), TCP서버를 설치할수 있으며간단한 설정만으로 에러 리포트를 서버로 전송 받을 수 있다.

l         에러가 난 경우 GUI 윈도우 창이 표시되어서 다양한 정보를 알 수 있으며원클릭으로 BugTrap Server에 에러 리포트를 전송할 수 있다.

l         크게 BugTrap Server 프로그램과  BugTrap 라이브러리로 구성되어 있으며서버 없이 라이브러리만으로도 사용이 가능하다.

l         로컬 컴퓨터에 덤프파일 저장 및, TCP HTTP을 이용하여 BugTrap Server에 에러 리포트를 전송할 수 있으며, BugTrap Server는 설치 프로그램이 포함되어 있다.

l         서버 프로그램과 헤더파일들과 Lib, DLL 파일들로 구성되어있다.

l         인스톨 버전과 잘 정리된 Document를 제공한다.

l         사용은 자유지만소스는 공개되어 있지 않다.

1.2. BugTrap Overview

 

< Dump파일은 Mail Server를 통해 개발자에게 전송되거나, BugTrap Server로 전송된다 >


 

1.3. BugTrap 사용 화면

l         프로그램 실행중 에러가 발생하면 아래와 같은 창이 뜬다.

 

l         위 창에서 ‘Submit Bug’ 버튼을 클릭하면 설정된 BugTrap Server로 덤프파일이 전송되고mail to…’를 클릭하면 설정된 mail주소로 덤프파일이 첨부된 메일이 발송된다.

l         More…’버튼을 클릭하면 아래와 같은 확장된 창이 뜬다.

 

1.4. BugTrap Server

l         BugTrap을 이용하여덤프파일을 전송하는 방법은 아래 3가지가 있다.

 

1.4.1. E-Mail 첨부 파일로 전송하는 방법

l         프로그램에서 에러가 발생했을때등록된 E-Mail에 덤프파일을 첨부하여 개발자에게 메일로 발송한다.

l         장점

n        추가로 BugTrap Server를 설치할 필요가 없다.

n        방화벽을 통과하여 전송할수 있다.

n        OutLook같은 일반 메일 클라이언트를 이용하여 메일을 작성하여 전송할수도 있다아니면 BugTrap에 내장된 간단한 메일 작성 프로그램을 이용하여 작성하여 전송한다.

l         단점

n        여러 프로그램으로부터 날라오는 에러 리포트를 필터링하여 관리할 수 없다.

n        첨부파일(덤프파일)이 너무 큰 경우 메일로 전송할 수 없을 수도 있다.

1.4.2. TCP 기반 프로토콜을 이용하여 전송하는 방법

l         BugTrap Server 프로그램을 특정 서버 컴퓨터에 설치하여클라이언트 프로그램에서 에러가 발생한 경우, TCP기반 프로토콜을 이용하여 서버로 덤프파일등을 전송한다.

l         .NET 플래폼 기반의 서버 프로그램과플래폼 독립적으로 사용할 수 있는 Java기반의 서버 프로그램의 두 종류가 있다.

l         장점

n        에러 리포트는 서버에서 설정한 저장소(폴더)에 프로그램별버전별로 폴더가 생성되어 구별되어 저장된다설정파일에서 설정한 프로그램의 에러리포트만 저장할 수 있도록 필터링이 가능하다.

n        사이즈의 제한이 없으며, TCP를 사용하기 때문에 전송속도가 빠르다.

n        BugTrap Server 프로그램이 가볍고 효율적이다.

n        Web Server가 필요 없어 어떤 컴퓨터에서 서버를 설치할 수 있다.

l         단점

n        TCP를 사용하기 때문에서버의 방화벽을 뚫지 못할수도 있다.

1.4.3. Http 기반 프로토콜을 이용하여 전송하는 방법 (WEB)

l         IIS가 설치된 Web Server Web Server Bug Trap Server를 설치하여, HTTP 기반 프로토콜을 이용하여서버로 덤프파일등을 전송한다.

l         장점

n        에러 리포트는 서버에서 설정한 저장소(폴더)에 프로그램별버전별로 폴더가 생성되어 구별되어 저장된다설정파일에서 설정한 프로그램의 에러리포트만 저장할 수 있도록 필터링이 가능하다.

n        HTTP기반이기 때문에 방화벽을 통과한다.

n        사이즈의 제한이 없다.

l         단점

n        BugTrap Server가 설치될 서버 컴퓨터에 Web Server이어야만 한다.

n        HTTP 프로토콜은 TCP 프로토콜에 비해서 속도면에서 비효율 적이다.



반응형
Posted by blueasa
, |