只是记录下来:(自我跟随)在Linux中修复dtrace'no symbolic type information'?
我知道Sun的dtrace
由于许可问题而没有打包到Ubuntu上;所以我下载它并在Ubuntu上从源代码构建它 - 但我遇到的问题非常类似于Simple dtraces not working · Issue #17 · dtrace4linux/linux · GitHub中的问题;即驾驶员的负荷似乎罚款:
dtrace-20130712$ sudo make load
tools/load.pl
23:20:31 Syncing...
23:20:31 Loading: build-2.6.38-16-generic/driver/dtracedrv.ko
23:20:34 Preparing symbols...
23:20:34 Probes available: 364377
23:20:44 Time: 13s
...但是,如果我尝试运行一个简单的脚本,它将失败:
$ sudo ./build/dtrace -n 'BEGIN { printf("Hello, world"); exit(0); }'
dtrace: invalid probe specifier BEGIN { printf("Hello, world"); exit(0); }: "/path/to/src/dtrace-20130712/etc/sched.d", line 60: no symbolic type information is available for kernel`dtrace_cpu_id: Invalid argument
按照问题以上链接:
(ctf需要一个私有和正在工作的libdwarf库 - 大多数旧版本都有破坏版本)。
...我再此基础上(不是小事,需要手动查找符号链接的右侧位置)内置libdwarf
从源代码,然后dtrace
;我仍然得到同样的失败。
可以解决这个问题吗?