경고의 원산지 찾기


11

미니 버퍼에서 명령을 실행하고 경고를 받았습니다.

정확한 경고는 comint-completion-at-point failed to return valid completion data에서 명령을 자동 완성한 후입니다 shell-mode.

경고의 발생 원인을 어떻게 확인할 수 있습니까?


Lisp 프로그램 디버깅 에 대한 매뉴얼을 살펴보십시오 .
freakhill

1
C-h f comint-completion-at-point을 클릭 한 다음 파일 이름을 클릭하여 소스 코드를 확인하십시오. 해당 오류 메시지를 찾으십시오. (또한 Lisp 소스에서 오류 메시지를 grep하여 찾을 수 있습니다.)
Drew

답변:


17

다른 답변에서 지적했듯이 훌륭한 매뉴얼 은 모든 디버그 도구에 유용합니다. 특정 문제에 대해서는 다음을 고려할 것입니다.

(setq debug-on-message "comint-completion-at-point failed to return valid completion data")

도움말 텍스트는 다음과 같이 말합니다.

If non-nil, debug if a message matching this regexp is displayed.

이로부터 장애가 발생하면 역 추적을 받아야합니다. 그런 다음 Cu CMx를 사용 하여 문제의 기능을 계측하고 다음에 발생할 때 실패를 통해 자세한 정보를 얻을 수 있습니다.


3
이것은 훌륭한 답변입니다. 감사합니다. 난 당신이 결합 당신의 첫 번째 줄에 여분의 인용문이 생각 setq하고 'debug-on-message. 그것을 변경 setq debug-on-message하거나 set 'debug-on-message나를 위해 수정했습니다.
Matthew Piziak

@ MatthewPiziak : 감사합니다-지나치게 인용 부호가 수정되었습니다.
stsquad

이것은 Emacs 압축 소스를 zgrepping하는 것보다 훨씬 낫습니다! 이것의 단점은 디버깅하기 전에 문제가 발생한 조건이 발생해야한다는 것입니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.