Android 애플리케이션의 동적 라이브러리 호출을 프로파일 링해야하고이 목적을 위해 "ltrace"도구를 사용하여 프로파일 링하기로 결정했습니다. 나는 "ltrace"도구를 안드로이드 패키지에 결합한 다음 성공적으로 함께 컴파일했습니다. 보통의 리눅스 콘솔 응용 프로그램처럼 쉘 프로그램에서 잘 작동합니다.ltrace를 사용하여 Android 애플리케이션 프로파일하기
그러나 "Zygote"프로세스에서 분기 된 Android 애플리케이션을 올바르게 프로파일 링 할 수 없습니다. 나는 "Zygote"프로세스에 ltrace를 첨부하여 자식 프로세스를 처리하려고 시도했지만 SIGCHLD 및 SIGSTOP 신호 만 받았고 비정상적으로 종료되어 다음 오류를 보여줍니다. 누구도 안드로이드 시스템에 대한 프로파일 링 이런 종류의 시도 경우 0xffff0508
에서
예기치 않은 명령은 0xffffffff 난 그냥 궁금 해서요. 짧은 코멘트는 나에게 매우 도움이 될 수있다.
미리 감사드립니다.
답장을 보내 주셔서 감사합니다.하지만 실행 중간이 아니라 새 프로세스의 시작 부분에서 프로필을 작성하고 싶습니다. 그래서 저는 'zygote'에서 새로운 프로세스가 시작될 때부터 프로필을 작성하려고합니다. 그리고 그것은 Java 프로그램 자체가 아닌 외부 네이티브 동적 라이브러리 프로파일 링에 관심이 있기 때문에 자바 디버거가 내 용도로 사용되지 않는 것 같습니다. 나는 당신의 의견에 감사드립니다. –
자바 디버거의 목적은 ltrace를 첨부 할 수 있도록 프로그램을 실행 초기에 중지하는 것이 었습니다. –
당신 말이 맞아요. Java 디버거를 사용하여 엔트리 포인트에 중단 점을 설정할 수 있습니다. 하지만 내가 염려하는 것은이 방법이 소스 코드가있는 애플리케이션에서만 사용 가능한 것 같다. 소스 코드가없는 응용 프로그램의 항목에서 휴식을 취하는 것이 가능하다고 생각하십니까? 귀하의 매우 유용한 답변에 다시 한 번 감사드립니다. –