2012-12-26 6 views
1

Utrace를 사용하여 시스템 호출 개입을 작성하려고합니다. 나는 Utrace 프로젝트가 포기되었지만 그 코드의 일부가 kprobe와 uprobe에서 사용된다는 것을 알고있었습니다.kprobe 대 uprobe 시스템 호출 개입

나는 이들이 어떻게 작동하는지 잘 이해하지 못했습니다. 특히 uprobe 그들 사이에 어떤 차이가 있는지 설명 할 수 있습니까? 그리고 시스템 호출을위한 실제 매개 변수가 무엇인지 확인하기 위해 모듈을 작성하지 않고 업 로브 (uprobe)를 사용할 수 있습니까? 즉

감사

답변

5

Kprobe 생성하고 커널 코드에 probepoints 관리는, 당신이 어떤 커널 함수를 조사하려면, 말, do_sys_open(). kprobe를 사용하려면 Documentation/trace/kprobetrace.txt을 살펴 봐야합니다.

Uprobe는 사용자 응용 프로그램에서 프로브 포인트를 작성 및 관리합니다. 즉, 일부 사용자 공간 기능을 프로브하려고하지만 프로브가 프로브 된 프로세스를 대신하여 커널 공간에서 실행됩니다. 당신은 그것이 무엇을 목표로하는지 보려고 상공의 기본 사용법을 얻으려면 Documentation/trace/uprobetracer.txt을 봐야합니다.

+0

답변 주셔서 감사합니다. 이미 해당 파일을 보았습니다. 어떻게 bin 파일이 아닌 프로세스를 추적하기 위해 상향식을 사용할 수 있습니까? –