출처 : http://blog.yuns.me/257
기본적인 콘솔 프로그램이면 그냥 콘솔 창에 여러 메세지를 적어 출력하면되지만 윈도우 프로그램의 경우 아래 출력창에 출력해야 하지요. 간단하게 확인하고 싶을 경우,
1 | Debug.WriteLine( "Debugging Message" ); |
이렇게 적어주면 됩니다.
BUT...
런타임 에러의 경우 이런식으로 출력하면 에러가 났는지 안 났는지 계속 출력창을 봐야합니다. 이럴 때 경고창을 띄워 확인해줄 수 있습니다.
1 2 3 4 | public static void Assert( bool condition, string message ) |
첫 번째 인자로 조건을 두 번째 인자로 출력할 메세지를 넣어줍니다. 경고창은 조건이 False일 때 나타납니다. 실제 사용은 다음과 같이합니다.
1 | Debug.Assert(count != 0, "Count is zero" ); |
-----------------------------------------------------------------------------------------
출처 : http://blog.naver.com/27ysh?Redirect=Log&logNo=10101859667
오늘은 Debug.WirteLine 메서드에 포스팅해보겠습니다.
네임스페이스: System.Diagnostics;
Debug클래스의 메서드를 이용하여 디버깅 정보를 출력한다.
여러가지 메서드가 있겠지만, 그중에서 제가 가장 많이 사용하는
Debug.WriteLine(string);에 대하여 써보겠습니다.
보시면 알겠지만, 콘솔 프로그래밍에서 정말 많이 쓰던 Console.WirteLine메서드와 참 유사합니다.
유사한 정도가 아니라 거의 똑같지만 :)
그럼 무엇이 다를까 ?
Cosole.WriteLine메서드 같은 경우에는 콘솔 프로그래밍에서 사용하게 되면,
콘솔창에 바로 내용이 출력되지만,
Debug.WriteLine같은 경우에는 화면에 출력되지 않습니다,
그럼 무엇때문에 사용할까 ?
프로그래밍을 하면서 Debug.WriteLine메서드를 적절하게 사용한다면,
프로그램 실행중의 버그, 속도저하 등을 확인할 수 있다는게 가장 큰 장점이 아닐까 ?
조금 귀찮지만 적절한 위치에 사용하며 프로그래밍을 한다면,
나중에 버그를 잡는데 엄청난 시간과 삽질을 투자하지 않아도 된다.
그럼 화면에 출력도 안되는 이 아이의 결과를 어떻게 확일할까 ?
나 같은 경우에는 DebugView라는 프로그램을 써서 결과를 확인하는데,
설치할 필요 없이 실행만으로 간단히 사용할 수 있는 프로그램이다.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Diagnostics;
namespace DebugTest
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
this.SetStyle(ControlStyles.DoubleBuffer, true);
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.UserPaint, true);
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
}
private void Form2_Load(object sender, EventArgs e)
{
Debug.WriteLine("Debug.WriteLine메서드입니다.");
}
}
이렇게 쓰고 실행시켜서 보면 윈도우폼에는 아무것도 나오지 않지만,
DebugView를 사용하면 DebugView화면에 "Debug.WriteLine메서드입니다." 라는 메시지가
보일 것이다.
이렇게 사용법을 알고 어떻게 쓴다는 것을 알아도,
막상 어떻게 사용해야 하는지 감이 전혀 안 올것이다. 나도 전혀 감이 오지 않았기에 :(
그럼 내가 지금 하고 있는 프로그래밍에 예를 들어 설명해보겠다.
지금 밑에 DebugView의 화면인데 지금 저 숫자들은 패킷정보이다.
보이지 않기에 실행화면에 수치가 제대로 안나오거나 하면 어디서 뻑(?)이 났을까 여기저기
열심히 삽질을 해야 겠지만, 저렇게 패킷정보를 DebugView로 확인하면서
삽질하는 횟수가 굉장히 많이 줄었다.
나 같은 경우도, C#을 배우면서 이걸 어디다 쓰지 라고 생각했지만 일을 시작하면서
Debug메서드들의 엄청난 위력(?)을 실감하게 되었다.
언어 구사력이 매우 부족해, 그냥 마구잡이로 글을 썻는데.. 이해가 안가시면 댓글을 달아주시면
제 지식을 총동원해서 대답해드리겠습니다 :)
아, 그리고 첨부파일로 DebugView를 올렸으니 필요하신분들은 가져가서 쓰시길,
오늘 하루도 좋은 하루들 보내세요.
[출처] C# Debug.WriteLine(string);|작성자 윤꽐라
'C#' 카테고리의 다른 글
[C#] 단축키 구현 (0) | 2013.01.11 |
---|---|
[C#] ScreenLog 스크린 로그 (.TXT) (0) | 2012.12.07 |
[C#]Painting Your Own Tabs - Second Edition ( 탭 ) (0) | 2012.11.17 |
[C#] Microsoft.Office.Interop.Excel Alignment(정렬) (0) | 2012.11.10 |
[C#]Excel workbook.Saveas 덮어쓰기 메세지 없애기 (1) | 2012.11.07 |