다른 프로그램에서 사용하는 C로 공유 라이브러리를 구축 중입니다. 내 공유 라이브러리의 일부 오류로 인해 이러한 다른 프로그램이 중단되는 경우가 있습니다. 이런 종류의 버그를 재현하는 동안 내 라이브러리의 어떤 기능이 호출되는지, 어떤 인수와 순서로 호출되는지를 아는 것은 매우 유용합니다. 물론 모든 함수에 printf()
호출을 추가하거나 모든 함수에 중단 점을 추가 할 수 있지만이를 확인하는 더 좋은 방법이 있어야합니다.내 라이브러리에 대한 모든 호출 목록 표시
편집 : 나는 OSX에이 일을 해요 이후, DTrace를와 관련 스크립트 dapptrace 유망 보인다. 그러나, 일부 문서를 파고 난 후에 나는 아직도 길을 잃어 버렸다.
말은, 내 라이브러리는 /path/to/libmystuff.so 내가이 라이브러리에 연결하는 프로그램 테스트 있어요. dtrace을 사용하면, libmystuff.so에있는 모든 함수 호출 목록을 어떻게 불러올 수 있습니까?
미안하지만이 문제에 대해서는 언급하지 않았지만 OSX를 주로 사용합니다. 그러나, osx에 대한 ltrace에 대한 검색은'dtrace'로 이끌었습니다. 이것은 매우 유망한 것으로 보입니다. 힌트를 주셔서 감사합니다! –
여러분을 환영합니다! – jmbr
올바른 대답으로'dtrace'를 올바르게 추가했습니다. 그래서 받아 들일 수 있습니다. –