/ var / crash에서 충돌 파일을 읽는 방법 정보가 있지만 내가 따르는

php-fpm이 우리에게 추락하고 파일을 덤프했습니다.

/var/crash/_usr_sbin_php5-fpm.1002.crash

해당 파일에 몇 가지 정보가 있지만 내가 따르는 것은 base64로 인코딩 된 형식의 CoreDump 섹션에 있습니다. 충돌 당시 무엇이 실행되고 있는지 어떻게 알 수 있습니까?



답변

apport-retrace도구에 여러 하위 종속성을 설치하지 않으려는 경우 apport 형식을 별도의 파일로 압축 해제 하고 평소 CoreDumpgdb같이 덤프 만 사용할 수 있습니다.

  1. apport-unpack systemGeneratedCrashReportPath.crash yourNewUnpackDirectoryHere
  2. cd yourNewUnpackDirectoryHere/
  3. gdb `cat ExecutablePath` CoreDump (여기에서 물결표에주의하십시오!)
  4. bt (출력 실제 역 추적)

    참고 : apport-unpack때로는 압축 풀기 작업에서 자체 충돌이 발생하지만 (apport는 xD 주변에서 모두 깨진 것처럼 보임) CoreDump 및 기타 파일이 있습니다. 무시하고 다른 .crash 파일을 /var/crash다른 곳으로 이동 한 후 삭제하십시오. 동일한 앱에서 새로운 충돌 보고서를 출력하는 시스템.


답변

라는 도구가 apport-retrace.crash 파일을 읽고 완전히 상징적 인 스택 추적과 하나 채우기 그것은 당신을 허용하거나 실행 gdb코어 덤프를 사용하여 세션. gdb 세션을 시작하려면을 실행하십시오 apport-retrace -g CRASHFILE.crash. 좋은 스택 추적을 얻으려면 -dbg 패키지가 설치되어 있어야합니다.

(PHP 전문가는 아닙니다) 실제로 충돌을 일으키는 파일 중 하나에 작성한 것일 수 있습니다.


답변