Windows에서 응용 프로그램이 충돌하면 관리 도구에서 이벤트 뷰어를 확인하여 충돌 한 부분을 확인할 수 있습니다. 때로는 유용한 정보를 다른 사람들에게 제공하지는 않지만 시작입니다.
리눅스에서 응용 프로그램이 충돌하면 어떻게 된 일을 추적하기 시작합니까?
예를 들어 중앙 통나무 또는 이와 유사한 것이 있습니까?
답변
예를 들어 중앙 통나무 또는 이와 유사한 것이 있습니까?
시스템 로그의 일반적인 위치는 /var/log/
입니다. 각 로그에 넣는 것은 syslog 구성에 따라 다르지만 일반적으로 로그인을 제외한 모든 것은로 이동합니다 /var/log/syslog
.
이것은 문제가 발생했을 때 개별 응용 프로그램에 실마리가 남아 있다고 보장하지 않습니다. 그러나 그것들 또는 쉘은 표준 출력 / 표준 오류 스트림에 무언가를 뱉을 것입니다. 터미널에서 전경에서 번거로운 응용 프로그램을 실행하면 해당 내용을 볼 수 있습니다.
답변
우분투에서 segfaults는에서 작성됩니다 /var/log/kern.log
. segfaults하는 프로그램을 만들어서 테스트했습니다.
void main() {
int *a=0;
*a=0;
}
그것이 segfaulted 후이 라인이 있었다 /var/log/kern.log
:
a.out[534]: segfault at 0 ip 08048432 sp bfaec8c0 error 6 in a.out[8048000+1000]
답변
우분투에서는 .desktop 런처 파일에서 응용 프로그램을 시작하는 경우 .desktop 파일에 옵션 Terminal=true
을 추가 하십시오.