본문 바로가기

GDB2

리눅스 시스템 오류의 처리방법 출처 : 한빛 네트워크 리눅스 머신이 다운되고 한참 작업이 진행되고 있을 때 모든 일이 수포로 돌아가게 된다. 이 상황을 어떻게 설명할 것이며 더욱이 어떻게 그와 같은 일이 반복되는 것을 어떻게 방지할 수 있을까? 이 기사는 유저 공간 프로그램에 관해 얘기하고자 하는 것은 아니다. 그것들 중 몇 개는 복구의 기회조차 없이 박스를 망칠 것이며 유일하게 내가 알고있는 것은 crashme이다. 대부분 시스템상의 고장은 커널(kernel-oops)로 인하여 발생하거나 하드웨어적인 오류로 인하여 발생한다. 어쨌든 커널 오류(kernel-oops)는 무엇인가? 커널 오류는 커널 코드가 회복할 수 없는 상태에 있을 때 발생한다. 대부분의 경우에 있어 커널은 드라이브에 커널의 상태를 기술할 수 있으며 드라이브는 적당한.. 2009. 5. 12.
GDB를 사용한 CORE 파일의 분석 프로세스가 비정상적으로 종료될 경우, core 파일을 통하여 원인 분석을 할 수 있으며, 프로세스가 비정상적으로 종료될 경우, core 파일을 남길지 여부는 다음과 같은 명령어를 통해서 설정이 가능합니다. [step 1] 비정상 종료 되는 샘플 프로그램 작성#include #include void Abnormal() { int n = 1024; char *p = (char *)malloc(sizeof(char) * 1); free(p); free(p); /* double free */ } void AbnormalContainer() { Abnormal(); } void Normal() { printf("normal function.\n"); } int main(int argc, char **argv) {.. 2009. 3. 1.