"Aw Snap!"의 원인을 결정하는 실용적인 방법이 있는지 아는 사람이 있습니까? Chrome에 가끔 나타나는 메시지? Chrome에 참조 할 수있는 오류 로그가 있습니까? 이 문제는 코드의 재귀 루프로 인해 모든 메모리를 삼키는 것으로 의심됩니다. 이를 확인할 수있는 방법이 있습니까?
"Aw Snap!"의 원인을 결정하는 실용적인 방법이 있는지 아는 사람이 있습니까? Chrome에 가끔 나타나는 메시지? Chrome에 참조 할 수있는 오류 로그가 있습니까? 이 문제는 코드의 재귀 루프로 인해 모든 메모리를 삼키는 것으로 의심됩니다. 이를 확인할 수있는 방법이 있습니까?
답변:
여기에 설명이 있습니다. Chrome에서 일반 로깅을 수행하려면 다음을 시도하십시오.
Chrome의 로깅 기능을 사용하십시오 .
로깅을 사용하려면 다음 명령 행 플래그로 Chrome을 시작하십시오.
--enable-logging --v=1
출력은 파일에 저장됩니다 chrome_debug.log
에서 크롬의 사용자 데이터 디렉토리 .
CHROME_LOG_FILE
환경 변수로 로그 파일의 위치를 대체 할 수 있습니다 .
플래그의 전체 목록을 보려면 다음을 확인하십시오. Chrome 명령 행 스위치 .
또는 자바 스크립트 콘솔을 사용 하십시오 .
를 눌러 Ctrl+ Shift+ J(윈도우 / 리눅스) 또는 Cmd+ Option+ J(맥).
공식 웹 사이트에 연결된 공식 Chrome 개발자 Twitter 계정 은 "Aw snap"페이지를 디버깅하는 데 도움이됩니다. http://www.chromium.org/for-testers/enable-logging
다음 플래그로 Chrome을 시작하는 것이 좋습니다.
--enable-logging --v=1
그렇게 하면 디버그 빌드를 사용하는 경우 chrome_debug.log
Chrome의 사용자 데이터 디렉토리 (상위 디렉토리 Default/
) 또는 이진 빌드 폴더 ( out\Debug
) 의 파일 에서 충돌 로그를 가져올 수 있습니다 .
--enable-logging --v=1
승인 된 답변에 대한 수정 사항이 추가되기 훨씬 전에이 게시물이 언급 되었기 때문에 공감 했습니다.
앗, 이런! 페이지는 일반적으로 소프트웨어 버그 와 관련이있을 수있는 프로세스 분할 오류 충돌과 관련이 있습니다 . 원인을 파악하기 위해 로깅을 활성화하거나 (다른 답변에서 제안한대로) 코어 덤프 파일의 역 추적을 분석 할 수 있습니다 ( macOS , Linux , 예 : Ubuntu ).
원인을 모르는 경우 (예 : 스택 추적은 메모리 주소로만 구성됨) Chrome 버그 추적 시스템 에서 새로운 지원 티켓을 만들 거나 이미 있는지 확인하십시오. 보고하는 동안 chrome://crashes/
Chrome 관리자가 메모리 주소를 디버그 기호로 변환 할 수 있도록 페이지 로 이동하여 충돌 ID를 업로드하고 포함해야 합니다.
위를 단순화하기 위해 페이지가 충돌 할 수있는 주요 원인은 다음과 같습니다.
버그를 발견했습니다 (웹 사이트 또는 웹 브라우저 자체에서).
웹 사이트 버그
예 : JavaScript VM이 할당 된 최대 메모리에 도달했습니다 (메모리 부족 충돌).
이를 확인하려면 DevTools를 실행 하고 메모리 탭을 확인 하십시오. 이 경우 메모리 부족 충돌이 발생하기 직전에 코드가 자동으로 일시 중지되어야합니다 (예 : 문제 810015 ). 그렇다면 웹 사이트 소유자에게 문제를보고하거나 JS 코드를 프로파일 링하여 버그를 찾으십시오.
브라우저 버그
시스템에서 열린 최대 파일 수에 도달했습니다 ( # 787381 참조 ).
Linux / Unix / macOS에서이를 확인하려면 다음을 실행하십시오.
sysctl -a | grep files
kern.num_files
한도에 도달 했는지 확인합니다 kern.maxfiles
.
이 경우 다음 명령을 실행하여 한계를 늘리십시오.
sysctl -w kern.maxfiles=20480
which launchctl && launchctl limit maxfiles 65536 unlimited
which ulimit && ulimit -c unlimited
충돌을 일으키는 Chrome 파일을 변경하는 맬웨어 / 바이러스가있을 수 있습니다.
memtest
.Chrome에서 로그를 표시하려면 다음을 실행하십시오.
log stream --level debug --predicate 'processImagePath contains "Google"'
또는 크래시 덤프를 확인하거나 체크인 할 수있는 콘솔 앱 을 실행 하면 ~/Library/Logs/DiagnosticReports
됩니다. 참조 : Chrome에서 'Aw, Snap!'오류 디버깅
위의 방법 중 어느 것도 도움이되지 않으면 소스에서 Chrome을 컴파일 하는 데 시간이 오래 걸리고 터미널에서 직접 실행할 수 있습니다. 그 후, 각“Aw, Snap!”오류 다음에는 소스 코드 파일에서 발생한 기능 및 행을 포함하는 전체 스택 추적이 와야합니다.