아파치 코어 덤프를 얻는 방법?


8

14.10 Ubuntu Server에 문제가 있습니다. 특정 작업을 수행하면 apache2가 세그먼트 오류 오류와 함께 다시 시작됩니다. 이 문제를 디버깅하기 위해 코어 덤프를 만들고 싶습니다. 나는 다음을 수행했다.

  • CoreDumpDirectory /tmp/apache-coredumps구성 파일에 추가
  • 운영 ulimit -c unlimited
  • 운영 apt-get install apache2-dbg php5-dbg
  • 다시 시작 apache하여 오류가 발생했습니다. 로그는 디렉토리에 코어 덤프가 있다고 주장하지만 비어 있습니다.

또한 아파치의 실행에 직접 gdb를 사용하려고했으나 통해 시작하지 않으면 아파치가 시작되지 않습니다 apachectl또는 service apache2 start.

문제를 디버깅하기 위해 코어 덤프를 얻는 방법 또는 gdb아파치 에 직접 연결할 수있는 방법은 무엇입니까?



불행히도 이것은 작동하지 않았습니다. 첫 번째 링크에서 제안한대로 권한을 설정하려고 시도했지만 여전히 코어가 덤프되지 않았습니다. 나는 이미 두 번째 링크를 알고 있었다. 우분투 특정 방식으로 내 질문에 실제로 대답하지 않습니다 (우분투에는 httpd 실행 파일이 없으며 apache2를 직접 호출하는 것은 이전에 언급 한 이유로 작동하지 않습니다).
Andreas Hartmann

코어 덤프가 / tmp에 있습니까?
Geek

코어 덤프를 다른 폴더에 배치하도록 지정 했으므로 / tmp에 없습니다.
Andreas Hartmann

apport를 사용하고 싶지 않습니다. 아파치 버그가 아니기 때문에 로컬에서 문제를 검사하고 오류를보고하지 않습니다.
Andreas Hartmann

답변:


4

ulimit -c unlimited 현재 쉘에만 영향을 미칩니다.

출력을 보면이를 확인할 수 있습니다 cat /proc/$(pidof -s apache2).

나는 추가 ulimit -c unlimited/etc/default/apache2지금 cat /proc/$(pidof -s apache2)/limits포함

Max core file size        unlimited            unlimited            bytes

나는 이것을 시도했지만 여전히 아파치 (12 LTS)가 코어를 덤프하지 않았습니다. 이견있는 사람?
Josip Rodin

answer-apport가 활성화되어 /etc/default/apport커널 코어 덤프 패턴을 자체적으로 변경했습니다. 참조 serverfault.com/questions/470407/...
요시프 로댕

에코 '/tmp/apache-coredumps/core-%e.%p'>이 / proc / sys / kernel / core_pattern
루저
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.