2013-03-28 6 views
2

나는 리눅스 DTrace를 다음과 같은 .D 스크립트를 실행하면 :리눅스 ustack에 대한 DTrace를() 액션에 잘못된 주소

#!/usr/sbin/dtrace -s 
syscall::open:entry 
{ 
    @[ustack()] = count(); 
} 

나는 다음과 같은 종류의 많은 오류를 얻을 :

dtrace: error on enabled probe ID 2 (ID 320864: syscall:x64:open:entry): invalid address (0xfffd) in action #2 
dtrace: error on enabled probe ID 2 (ID 320864: syscall:x64:open:entry): invalid address (0xfffd) in action #2 
dtrace: error on enabled probe ID 2 (ID 320864: syscall:x64:open:entry): invalid address (0xfffd) in action #2 

무엇 문제를 해결해야합니까?

답변

1

나중에 dtrace를 릴리스해야합니다. 나는 이것이 고정되어 있다고 믿는다 - 스택 워크 코드는 컴파일러, 배포판 및 32 비트와 64 비트 커널의 엉뚱한 점으로 인해 다시 작성되어야했다.

+0

감사합니다. 그 사이에 나는 Systemtap으로 전환했습니다. 나이를 맞춰 올바르게 설정했지만 지금은 제대로 작동합니다. – corpaul

+1

최신 dtrace4linux에서 여전히 오류가 발생합니다. 거기에 몇 가지 구체적인 컴파일러/배포판/커널 조합이 작동하는 것으로 알려져 있습니까? –

+1

우분투에서 마스터에서 빌드를 사용하여 동일한 오류가 발생합니다. 버그를 찾아내는 데 더 많은 정보를 제공하려면 어떻게해야합니까? – neverov