"Double Free or Corruption" 오류 추적
C 프로그램에서 "Double Free or Corruption" 오류가 발생하면 소스 추적 문제는 어려울 수 있습니다. print 문이 효과적이지 않을 수 있지만 GDB는 강력한 솔루션을 제공합니다.
오류 추적을 위해 GDB 활용
오류 감지를 용이하게 하려면 MALLOC_CHECK_ 환경 변수를 2로 설정하세요. glibc의 오류 허용형 malloc 변형을 활성화합니다. 이 버전은 이중 해제를 수행하는 즉시 프로그램이 중단되도록 보장합니다.
GDB 내에서 다음 명령을 실행합니다.
set environment MALLOC_CHECK_ 2
그런 다음 프로그램을 실행합니다. GDB는 이중 해제 시점에서 실행을 종료하고 역추적에 문제가 있는 free() 호출을 표시합니다.
추가 리소스
문제 해결에 대한 자세한 내용은 " 이중 해제 또는 손상" 오류가 발생하면 malloc() 매뉴얼 페이지를 참조하세요.
man malloc
위 내용은 GDB는 C에서 'Double Free 또는 Corruption' 오류를 디버깅하는 데 어떻게 도움을 줄 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!