한번쯤은 써봐야지하는 것 중에 하나
가장 강력하고 원초적인 디버깅 중에 하나로 printf()가 있다면
꽤나 상큼하고 스마트한 방법이라는데
assert()에서 비교문이 false 일 경우 강제종료 + 덤프를 한다고 한다.
일단 C/C++ 다 지원하는 듯..
NDEBUG가 정의되면 assert() 가 수행되지도 컴파일 되지도 않는다고 한다.
[링크 : http://forum.falinux.com/zbxe/index.php?document_srl=408376&mid=C_LIB]
[링크 : http://www.cplusplus.com/reference/cassert/assert/]
---
2013.12.19
//#include <assert.h>
로 주석처리 하고 assert()를 부르면 컴파일 부터 배짼다 -_-
음.. 우분투 12.04 LTS desktop에서 코어 덤프를 안하도록 해놔서 그런가..
덤프 파일이 생성되진 않았다.
가장 강력하고 원초적인 디버깅 중에 하나로 printf()가 있다면
꽤나 상큼하고 스마트한 방법이라는데
assert()에서 비교문이 false 일 경우 강제종료 + 덤프를 한다고 한다.
일단 C/C++ 다 지원하는 듯..
NDEBUG가 정의되면 assert() 가 수행되지도 컴파일 되지도 않는다고 한다.
#define NDEBUG // disable assert() calls |
#include <assert.h> void assert(scalar expression);[링크 : http://linux.die.net/man/3/assert] |
[링크 : http://forum.falinux.com/zbxe/index.php?document_srl=408376&mid=C_LIB]
[링크 : http://www.cplusplus.com/reference/cassert/assert/]
---
2013.12.19
//#include <assert.h>
로 주석처리 하고 assert()를 부르면 컴파일 부터 배짼다 -_-
$ gcc c.c
/tmp/ccpSwySM.o: In function `main':
c.c:(.text+0x11): undefined reference to `assert'
collect2: ld returned 1 exit status |
#include "stdio.h" #include "assert.h" int main() { assert(0); return 0; }
음.. 우분투 12.04 LTS desktop에서 코어 덤프를 안하도록 해놔서 그런가..
덤프 파일이 생성되진 않았다.
$ gcc c.c
/tmp/ccpSwySM.o: In function `main':
c.c:(.text+0x11): undefined reference to `assert'
collect2: ld returned 1 exit status |
'Programming > C Win32 MFC' 카테고리의 다른 글
typeof (0) | 2014.03.11 |
---|---|
const / pointer (0) | 2014.02.25 |
printf의 %s와 %S (0) | 2013.06.15 |
win32api - joystick 예제 (0) | 2013.06.15 |
Windows IME (0) | 2013.02.14 |