일반적으로 개발자와 운영 및 유지 관리 담당자는 소프트웨어를 실행할 때 종속 라이브러리를 찾을 수 없는 문제를 처리할 때 strace, gdb 등과 같은 일부 도구를 사용하여 시작 로딩 프로세스를 추적할 수 있습니다. 또한 ld 및 ldd 명령을 사용하면 종속 라이브러리의 상황을 분석하여 문제를 더 빠르게 해결할 수도 있습니다. 이러한 도구는 누락된 종속성 라이브러리를 찾는 데 도움이 되며 사용자가 소프트웨어 런타임 문제를 해결하기 위해 적절한 조치를 취하도록 안내할 수 있습니다.
여기에서는 동적 라이브러리 파일 libmpi_usempif80.so와 문제의 원인으로 의존하는 다른 동적 라이브러리를 분석합니다.
먼저 mpi_usempif80 라이브러리가 의존하는 다른 라이브러리를 분석하는 데 ld 명령이 어떻게 도움이 될 수 있는지 소개하겠습니다. mpi_usempif80 라이브러리가 로드되면 현재 시스템에서 이러한 라이브러리가 검색되는 경로는 무엇입니까?
#ld -lmpi_usempif08 –verbose
으아악위 정보는 매우 길고 귀중한 정보가 많이 포함되어 있습니다. 핵심 부분만 보고 싶으시면 핵심 내용을 유지하고 출력 정보의 요약 버전을 제시하겠습니다.
#ld -lmpi_usempif08 –verbose
으아악또한 grep을 사용하여 mpi_usempif08에서 실제로 찾은 라이브러리에 대한 정보만 표시하도록 필터링할 수 있습니다.
#ld -lmpi_usempif08 –verbose grep 발견
으아악그리고 ldd는 ld와 다릅니다. ldd는 Linux 런타임 라이브러리의 종속성을 분석하고, ld는 C/C++/Fortran 및 기타 언어 코드에서 실행 파일을 생성하는 연결 단계에서 자주 사용되는 실행 파일 링커입니다.
동일한 동적 라이브러리가 의존하는 다른 라이브러리를 분석하기 위해 ldd를 사용하는 방법을 살펴보겠습니다.
#ldd/usr/lib/x86_64-linux-gnu/libmpi_usempif08.so.40.30.0
으아악여기의 순서는 ld -lmpi_usempif08 –verbose grep의 결과와 일치합니다.
위 내용은 향상된 지식. Linux의 ld와 ldd를 함께 사용하면 런타임에 라이브러리 파일을 로드하지 못한 이유를 분석하는 데 도움이 될 수 있습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!