본문 바로가기

assert2

ASSERT_VALID, AssertValid, Dump ASSERT_VALID, AssertValid, Dump에 대해서 알아보자. 별로 쓸 일이 있을까 싶지만, 원도우 프로그램을 하면서 무심코 가장 많이 접하는 함수 중에 하나였을 것이다.(이 함수를 처음 본다는 사람은 그냥 무심결에 넘어가서 그렇지, 그렇지 않다면 좀 문제가 있을 것 같다.) 예를 들어 원도우 프로그램을 하나 자동으로 생성하면, 일반적으로 CXXXApp, CXXXView, CXXXDoc, CMainFrame 등의 class가 자동으로 만들어진다. 이때 CXXXApp를 제외한 아무 class나(여기서는 CXXXView)를 열어보면 CXXXView.h에는 #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext.. 2008. 6. 18.
assert 사용하기 뭐 아는 사람이라는 다 아는 assert 사용하기 들어가기 전에 먼저 assert 에 대해 설명하지면 디버깅 매크로로 assert(조건문) 이 참이 아닌값 즉 거짓이 되면 중간에 아래 그림과 같은 대화 상자를 띄우면서 어느 몇번째 라인에서 에러가 낳는지 알려줍니다. 왜 이런 귀찮은 짓을 하냐 ?? 소스를 가볍게 하면서도 에러를 쉽게 잡아내기 위해서죠 여기서 에러란 컴파일 에러가 아닌 런타임 에러 입니다. 귀찮은 설명은 다른 곳을 참고 하시거나.. 아니면 MS 사에서 나온 MSDN 이나 Writing solid code 란 책을 참고하시길 우선 assert.h 를 include 하시고 원하시는 부분에 assert(조건문) 을 날리시면 됩니다. assert(pvTo != NULL && pvFrom != NU.. 2008. 5. 27.