저는 제가 일하는 대학에서 설치한 우분투 16.04를 사용하고 있습니다. ls
잘 작동하지만 ls -l
종종 4~5초 동안 중단됩니다. 마운트된 공유 등으로 인해 이것이 발생할 수 있다는 일부 소스를 찾았지만 내 컴퓨터에 파일 시스템이 마운트되어 있지 않습니다(물론 내 하드 드라이브 제외).
IT에서는 이 문제를 디버깅할 시간이 없다고 하는데 문제를 어떻게 찾을 수 있는지 궁금합니다. 이것이 어떻게 작동하는지 잘 알지 못하면서 내 OS가 삼바를 통해 인증 서버와 통신하도록 ls
구성되어 있는지 조금 의심스럽습니다 . ls -l
어떻게 확인할 수 있나요?
답변1
애플리케이션이 수행하는 작업을 확인하는 가장 좋은 방법은 디버거를 통해 실행하는 것입니다. Linux 시스템의 경우 일반적으로 yes 입니다 gdb
.
디버거에서 찾아야 할 내용을 파악하는 가장 빠른 방법은 먼저 Run Application 을 사용하는 것입니다 strace
. 그러면 사용 중인 모든 시스템 호출이 표시되고 시간이 걸리는 시스템 관련 항목이 있는지 확인할 수 있습니다.
달리기:strace ls -l
/bin/ls
패키지 의 일부를 디버깅 coreutils
하려면 해당 패키지에 대한 디버깅 기호를 설치해야 합니다. 이를 수행하려면 저장소를 추가해야 합니다.이 답변에서.
실행: gdb --args ls -l
디버깅 모드로 전환됩니다. 관련 정보 더보기여기.