24.5.1.1 디버깅을 위해 MySQL의 컴파일
매우 특정 된 문제가 있다면, MySQL의 디버깅을 시도 할 수 있습니다. 이렇게하려면 -DWITH_DEBUG=1
옵션을 지정해 MySQL을 구성해야합니다. mysqld --help를 실행하면 MySQL이 디버깅으로 컴파일되었는지 여부를 확인할 수 있습니다. --debug
플래그 옵션과 함께 나타나는 경우 디버깅이 활성화되어 있습니다. 이 경우, mysqladmin ver에서도 mysqld 버젼이 mysql ... --debug로 표시됩니다.
mysqld에 -DWITH_DEBUG=1
CMake 옵션을 지정하고 구성하면 충돌을 중지하는 경우는 MySQL의 컴파일러 버그 또는 타이밍 버그가 발견 된 가능성이 있습니다. 이 경우 -DWITH_DEBUG=1
을 사용하지 않고 CMAKE_C_FLAGS
및 CMAKE_CXX_FLAGS
CMake 옵션을 사용하여 -g
추가를 시도 할 수 있습니다. mysqld가 비정상적으로 종료 된 경우, 적어도 gdb를 사용하여 그것을 연결하거나 코어 파일에 gdb를 사용하여 발생한 사건을 확인할 수 있습니다.
MySQL을 디버그 용으로 구성하면 mysqld의 상태를 모니터하는 많은 추가 안전 검사 기능이 자동으로 활성화됩니다. "예기치 않은 '현상이 감지 된 경우 stderr
에 항목을 기록합니다. 이것은 mysqld_safe에 의해 에러 로그에 보내집니다. 이것은 또한 소스 배포판을 사용하여 MySQL에 예기치 않은 문제가있을 경우 먼저 할 것은 MySQL을 디버그 용으로 구성하는다는 것을 의미합니다. (2 번째로하는 것은 MySQL 메일 링리스트로 메일을 보내 도움을 요청하는 것입니다. 섹션 1.6.1 "MySQL 메일 링리스트" 를 참조하십시오 버그를 발견했다고 생각되는 경우 섹션 1.7 "질문 또는 버그를보고하는 방법 " 의 단계를 사용하십시오.
Windows의 MySQL 배포판에서는 mysqld.exe
는 기본적으로 추적 파일을 지원하도록 컴파일되어 있습니다.