코어 덤프에서 실행 중인 Apache 구성을 추출하는 방법은 무엇입니까?

코어 덤프에서 실행 중인 Apache 구성을 추출하는 방법은 무엇입니까?

Apache는 파일의 구성을 메모리로 로드하고 있습니다. 구성 파일이 변경되는 경우 Apache 프로세스는 다시 로드/다시 시작이 발생할 때까지 이를 활성화하지 않습니다.

이제 현재 실행 중인 Apache 구성(특히 Vhost 구성)을 디버깅해야 합니다. 지금은 gcore를 사용하여 Apaches 메모리를 버렸습니다. 그렇다면 Vhost 구성에 도달하기 위해 메모리 덤프의 관련 부분을 추출하려면 어떻게 해야 합니까? (구성이 Apache 메모리에 일반 텍스트로 저장되지 않으며 메모리를 디코딩하는 데 몇 가지 마법이 필요하다고 가정합니다.)

이런 식으로 디버깅하는 것은 정말 복잡할 수 있다고 생각합니다.

답변1

이런 식으로 디버깅하는 것은 정말 복잡할 수 있다고 생각합니다.

저도요. Apache가 단순히 구성을 메모리로 읽고 계속해서 참조한다고 믿을 이유가 없습니다. 아마도 많은 옵션이 Apache 작동 방식에 통합적으로 영향을 미칠 것입니다.스스로 구성시작시.

따라서 Apache 소스 코드의 구조를 이해한 다음 다양한 비트와 조각이 코어 덤프에서 끝나는 위치를 파악하기 시작해야 합니다.

누군가가 이미 이에 대한 도구를 가지고 있지 않다면(내 생각에는 없을 것 같습니다) 문제에 대한 다른 해결책을 찾으려고 노력할 것입니다.

관련 정보