코어(Core)가 발생하는 주된 원인 1.변수 선언 후 초기화 하지 않는 변수(구조체 포함)를 사용할 경우. (사용하기 전에 반드시 초기화하고 사용해야 함) 2.varchar로 선언된 변수를 printf나 STRLOOK 함수를 사용할 때 변수명.arr로 하지 않고 변수명만 사용한 경우. 3.varchar 변수를 if문에서 비교할 때 변수명.arr로 하지 않고 변수명만 사용한 경.. ▶ Tuxedo/C 2010.07.05
DBX 사용예 [white2:tuxadmci] /nhic/online/apps > file core.2593002.30004220 core.2593002.30004220: AIX core file fulldump 32-bit, NICDB010 [white2:tuxadmci] /nhic/online/apps > dbx NICDB010 core.2593002.30004220 도움말을 보려면 'help'를 입력하십시오. [core.2593002.30004220에서 메모리 이미지 사용] 기호 정보를 읽는 중 ... IOT/Abort trap in skgdbgcra at 0xddd614e0 ($t1) .. ▶ Tuxedo/C 2010.07.05
프로그래밍시 추천사항 - 변수와 데이터 구조 C,C++에서 변수가 메모리에 머무는 기간, 스코프, 링킹 그리고 관련 있는 오브젝트등등은 모두 변수를 어디에서 선언했는지에 달려있다. 그러나 메모리에 머무는 기간은 나중에 storage class specifier로 다시 선언하면 바꿀 수 있다. 가능하면 automatic storage class인 지역 변수(local variable).. ▶ Tuxedo/C 2010.06.28
디버깅 - 코어파일로 작업하기 코어 파일이 만들어지는 원인은 메모리 참조를 잘못했거나 잘못된 명령어, 버스 에러(bus error), 사용자가 quit 시그널을 발생시킨 경우 등 여러 가지가 있다. 코어파일은 중단된 프로세스의 메모리 이미지를 포함한다. - printf() 디버깅 기법 가장 일반적이고 널리 사용되는 디버깅 .. ▶ Tuxedo/C 2010.06.25
링크 타임시 에러 점검 - 초기화하지 않은 변수 C/C++ 표준에 따르면, 정적인 영역에 잡지 않은 변수는 자동 저장 영역(스택 영역에 변수를 할당한다)에 잡히게 되고 이 변수는 명시적으로 초기화하지 않는 한 초기값이 결정되지 않는 것으로 되어 있다. 즉 자동저장 영역에 잡은 변수인 자동 변수(auto variable)를 초기화하지 않.. ▶ Tuxedo/C 2010.06.25
컴파일시 메시지 분석 "file", line line.column: 15cc-nnn (sev) msg file : 에러가 발생한 소스 파일 이름 line : 에러가 발생한 파일 내에서 해당되는 라인 column : 에러가 발생한 라인에서 해당하는 컬럼 (왼쪽에서 문자를 센 값) cc : 에러메시지를 발생시킨 컴파일러 구성요소. 2자리 코드값으로 보인다. 00 : 옵티마이저/코드 생성기 01 : 컴.. ▶ Tuxedo/C 2010.06.25
make 수행 시에 나타나는 에러들 현상 : Makefile:17: *** missing separator. Stop. 원인 : Makefile을 작성할 때 명령어(command)부분은 모두 TAB 문자로 시작해야 하는데, TAB 문자를 쓰지 않았기 때문에 make가 명령어인지 아닌지를 구별 못하는 경우에 발생. 조치 : 17번째 줄(근처)에서 명령어가 TAB 문자로 시작하게 바꾼다. 현상 : make: *** No rule to make tar.. ▶ Tuxedo/C 2010.06.25
C 컴파일러 관련 사항(AIX) 주의 : 컴파일러, 링커에서는 OBJECT_MODE=32_64 를 허용하지 않는다. 환경변수를 이와 같이 설정하면 다음과 같은 에러가 발생한다. 1501-254 OBJECT_MODE=32_64 is not a valid setting for the compiler. 주의 : 디폴트 모드를 결정하기 위해 OBJECT_MODE를 사용하고 있는 것을 일반 사용자가 모르고 있다면 심각한 문제가 발생할.. ▶ Tuxedo/C 2010.06.25