Linux에서 프로그램 충돌 문제를 어떻게 추적 할 수 있습니까? 응용 프로그램이 충돌하면 관리 도구에서 이벤트

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을 추가 하십시오.


답변