임베디드 Linux 장치에서 실행 중인 애플리케이션이 있고 이를 새로운 기능으로 확장하고 있습니다. 새로운 기능을 사용하려면 GLib가 필요하므로 필요한 라이브러리를 애플리케이션에 동적으로 연결합니다.
이 작업을 수행하고 기기에서 앱을 실행하면 분할 오류가 발생합니다. 새 라이브러리를 동적으로 연결할 때 이런 일이 발생합니다. GDB의 역추적은 다른 사용자 정의 동적 링크 라이브러리에서 오류가 발생했음을 보여줍니다. 불행하게도 다음 메시지와 함께 부분적인 추적만 얻습니다.
역추적 중지됨: 프레임이 저장되지 않음 PC
다른 공유 라이브러리에 대해서만 연결하고 새 코드를 추가하지 않는다는 점에 유의하세요. 사용자 정의 라이브러리를 정적으로 연결하면 충돌이 사라집니다. 나는 메모리 손상이 다른 곳에서 발생하고, 조각화가 발생하도록 사용자 정의 라이브러리를 동적으로 연결할 때 조건(예: 메모리 매핑)이 적절하다고 생각합니다.
이 문제를 추가로 디버깅하는 데 사용할 수 있는 좋은 도구와 기술을 아는 사람이 있나요?