Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C/C++에서 코어를 디버깅하는 방법은 무엇입니까?


프로세스는 프로그램 오류로 인해 운영 체제에 의해 종료될 때 코어를 덤프합니다. 이것이 발생하는 가장 일반적인 이유는 프로그램이 NULL과 같은 유효하지 않은 포인터 값이나 메모리 영역 밖의 값에 액세스했기 때문입니다. 그 과정의 일부로 운영 체제는 우리가 무슨 일이 있었는지 분석할 수 있도록 우리 정보를 파일에 기록하려고 합니다.

이 코어는 다음과 같이 프로그램을 진단하고 디버그하는 데 사용할 수 있습니다. −

코어는 기본적으로 /proc/sys/kernel 디렉토리에 덤프됩니다. 코어를 디버그하려면 프로그램을 -g 옵션으로 컴파일해야 합니다. 코어가 실행되면 gdb −

$ gdb  nameOfExecutable core

이렇게 하면 gdb에서 코어가 열리고 이제 디버깅을 진행할 수 있습니다. gdb 사용 방법을 모르는 경우 이 링크를 사용하여 자세히 알아볼 수 있습니다. https://www.ibm.com/developerworks/library/l-gdb/