이미 많은 분들이 이들에 대한 글을 쓰셨기 때문에 간단하게 언급하고 링크나 달아 놓습니다.

 

윈도우에서 응용프로그램 디버깅을 위해서 많은 도구들이 사용 됩니다.

 

개발, 테스트, 배포순으로 이루어지는 일반적인 프로젝트에서라면 Visual Studio와 같은 개발 도구들이 지원하는 소스코드 디버깅 기능을 이용해서 쉽고 빠르게 문제의 원인 분석과 해결이 가능하겠지만 이미 배포되어서 소스가 어디 있는지 확인도 쉽지 않은 사용중인 응용프로그램에서 발생하는 문제 (특히, ASP, COM+, ASP.Net등과 같은 웹서비스 응용프로그램)의 경우에는 문제 증상이 나타나더라도 확인 하기가 쉽지 않습니다.

이때 사용 될 수 있는 툴들이 고전적인 WinDBG (또는 CDB)나 최근에 사용되고 있는 DebugDiag가 있습니다.

WinDBG는 설치가 쉽고 만약 설치 환경이 여의치 않은 경우 폴더를 복사해서 사용 할 수도 있습니다. .Net Framework과 같이 설치되는 SOS.DLL과 같은 Debugger Extension을 이용하면 ASP.Net이나 .Net 응용프로그램에서 발생하는 오류를 라이브로 확인하거나 덤프를 생성하여 추후 분석도 가능합니다.

 

WinDBG의 다소 고전적인 모습과 달리 DebugDiag는 간단 명료한 디자인과 덤프 생성 및 분석 기능을 내장하고 있어서 문제가 발생한 때 수집된 Debug Dump에 대해서 원인을 파악해 주기도 합니다. 물론 이를 위해서는 적당한 Symbol 파일이 지원 되어야 합니다. 하지만 분석 기능을 통해서 모든 원인을 파악하기는 힘들며 이들 내용도 가끔은 틀린 경우도 있기 때문에 보다 정확하고 자세한 분석은 정확한 시스템 지식과 분석 능력을 겸비한 엔지니어들이 WinDBG를 이용해서 진행하게 됩니다.

 

아래 링크들을 참고하세요.

Install Debugging Tools for Windows 32-bit Version

http://www.microsoft.com/whdc/devtools/debugging/installx86.Mspx

 

 Debug Diagnostic Tool v1.1

 http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&displaylang=en

Introduction

The Debug Diagnostic Tool (DebugDiag) is designed to assist in troubleshooting issues such as hangs, slow performance, memory leaks or fragmentation, and crashes in any Win32 user-mode process. The tool includes additional debugging scripts focused on Internet Information Services (IIS) applications, web data access components, COM+ and related Microsoft technologies.

DebugDiag 1.0 was released as part of the IIS Diagnostic toolkit and as a standalone tool. DebugDiag 1.1 is currently available as a standalone tool.

WinDBG와 DebugDiag의 기능 설명 및 사용법에 대해서는 아래의 Blog에 자세하게 언급되고 있습니다.

DebugDiag 1.1 or Windbg, which one should I use? and how do I gather memory dumps

http://blogs.msdn.com/tess/archive/2008/05/21/debugdiag-1-1-or-windbg-which-one-should-i-use-and-how-do-i-gather-memory-dumps.aspx