Dev/C, C++
debian 계열 linux에서 core 파일 생성 방법
core 파일 생성 방법 core 파일을 최소 크기를 설정 한다. $ ulimit -c unlimited $ ulimit -a core 파일의 네이밍 룰을 지정한다. $ echo "/etc/core" > /proc/sys/kernel/core\_pattern login 시 마다 동일한 설정을 해야 한다. 참조 http://kthan.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4Linux-ulimit-%EC%9C%BC%EB%A1%9C-coredump-%EC%84%A4%EC%A0%95 http://manywaypark.tistory.com/entry/core-file%EC%9D%80-%EC%96%B4%EB%94%94%EC%97%90
Serial-port 관련 자료 정리
centos 에서 Serial-Port를 이용한 파일전송 모듈을 개발하면서 정리한 자료 입니다. 시리얼 포트 상태 확인 장치 확인 $ cat /proc/tty/driver/serial serinfo:1.0 driver revision: 0: uart:16550A port:000003F8 irq:4 tx:930342833 rx:215304 brk:145317 RTS|CTS|DTR|DSR 1: uart:16550A port:000002F8 irq:3 tx:1090 rx:0 RTS|CTS|DTR|DSR|CD 2: uart:unknown port:000003E8 irq:4 3: uart:unknown port:000002E8 irq:3커널에서 시리얼 드라이버 load 되었는지 확인 $ dmesg | grep t..
core 파일이 생성되는 한가지 상황
오늘 하루종일 삽질한 내용이 있어서 기록을 남긴다. [ 상황 ] 패킷 내용이 추가되어서 기존 모듈을 수정하게 되었다. 컴파일을 잘되는데, 실행하면 계속 core 파일이 생성되면서 프로세스가 죽는다. 수정 한 부분을 전체 주석으로 막아도, Call Stack을 체크 해보면 특정 함수를 진입하는 시점에 죽어 버린다. [ 원인 ] 원인은 패킷 사이즈가 커지면서, Stack 영역에 할당 할 수 있는 최대 메모리 사이즈를 초과한 것이다. [ 해결 방안 ] Stack 영역이 아닌, Heap영역에 메모리를 할당 하면 된다. 원인 밝히느라 오전 내내 삽질, 정적 메모리 구조를 동적 구조로 바꾸느라고, 오후 내내 디버깅 및 삽질.. 오늘 하루도 이렇게 날려 먹었다. [ Code ] -. Stack 영역에 할당 할 수 있..
Pro*C/C++ Precompiler Programmer's Guide
[ 원문 링크 ] http://download.oracle.com/docs/cd/A58617_01/server.804/a58233/toc.htm [ 다운로드 링크 ]
한글이 포함된 문자열을 특정 byte로 자르기
한글이 포함된 문자열의 경우에 한글 중간에 끊기지 않도록 left 함수를 구현 했다. 유니코드 한글을 구분하기 위해서는 메크로 함수를 수정해 주어야 한다. #include #define IsHangle(c) ((unsigned char)(c) > 0x7f) char* left(char* sz, int len) { int i = 0; if ( strlen(sz)
DisplayHex
패킷 또는 버퍼를 파라미터로 받아 16진수 형태로 출력을 예쁘게 해준다. * 사용예 DisplayHex( "Send Packet", szBuf, sizeof(szBuf) ); * 결과 [ Send Packet ] ========= ----------------------------------------------------------------------- ADDR +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 0123456789ABCDEF ----------------------------------------------------------------------- 0000 54 65 73 74 20 50 61 63 6B 65 74 20 53 61 6D 70 Te..