zsh에는 일종의 진단 모드가 있습니까?

zsh에는 일종의 진단 모드가 있습니까?

oh-my-zsh아래에 설명된 zsh 기반 구성에 몇 가지 문제가 있습니다.터미널의 물리적 버퍼가 oh-my-zsh 구성에 표시된 것과 일치하지 않습니다..

zsh실시간으로 무슨 일이 일어나고 있는지에 대한 정보를 생성할 수 있는 로깅 모드가 있는지 알고 싶습니다 .

또 다른 점은 지식이 풍부한 사람이 문제를 추적하는 데 사용할 수 있는 현재 구성을 인쇄하는 것입니다. 구성이란 단순히 구성 파일의 내용을 의미하는 것이 아니라 진단에 도움이 될 수 있는 런타임 상태에 대한 추가 정보를 의미합니다.

답변1

몇 가지 옵션이 있습니다.

먼저, 현재 셸의 모든 호출에 대한 추적 정보를 얻거나 setopt xtrace이 옵션 세트를 사용하여 새 셸을 시작할 수 있습니다. 이것은 생성됩니다set -xzsh -x많은그러나 디버깅 정보. 게다가 관심 있는 모든 내용이 포함되지 않을 수도 있습니다.

찾고 있는 것이 무엇인지 더 구체적으로 알고 있다면 functions -t <function name>추적하려는 특정 기능에 이 정보를 사용할 수 있습니다.

그러나 .zshrc모든 구성에서 문제를 추적하는 가장 신뢰할 수 있는 방법은 다음을 수행하는 것입니다.

cd "$( mktemp -d )"
ZDOTDIR=$PWD HOME=$PWD zsh -df

이렇게 하면 임시 폴더가 생성되고 구성 파일 없이 새 하위 쉘이 시작되며 해당 구성 및 홈 디렉터리가 임시 폴더로 설정됩니다.

.zshrc그런 다음 관련 줄을 하위 셸에 붙여넣고 문제가 시작되는 지점을 찾을 때까지 하나씩 실행할 수 있습니다.

관련 정보