首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux系统中的libdwfl错误

Linux系统中的libdwfl错误
EN

Stack Overflow用户
提问于 2015-08-05 16:30:52
回答 1查看 223关注 0票数 0

我正在虚拟Linux上捆绑工作/安装Systemtap工具来分析OS过程。我正在使用VirtualBox运行映像。通过

代码语言:javascript
复制
rpm -q kernel

代码语言:javascript
复制
cat /proc/version

获得的版本如下:

代码语言:javascript
复制
Linux version 2.6.32-5-686 (Debian 2.6.32-48squeeze4)

我已经正确地下载和安装了这个工具,并编写了一个简单的程序(.stp)。然而,我不断地得到同样的错误,我在许多地方搜索了信息,但没有成功:

执行后:

代码语言:javascript
复制
sudo stap my_profiler.stp

我得到:

代码语言:javascript
复制
semantic error: libdwfl failure (all kernel modules found): no error
Pass 3: translation failed. Try again with another '--vp 001' option.

根据Guide/errors.html

⁠语义错误: libdwfl失败,在处理调试信息时出现问题。在大多数情况下,此错误是由于安装了内核-调试器包,其版本与探测到的内核不完全匹配。安装的内核-调试器包本身可能存在一些一致性或正确性问题。

我没有找到“内核-调试器”包的相关信息。我也尝试了冗长的选择,没有好处。我甚至尝试使用VM的旧快照。有什么想法吗?

我运行的.stp程序的代码:

代码语言:javascript
复制
probe timer.profile{
    printf("Process: %s\n", execname())
    printf("Process ID: %d\n", pid())
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-07 02:11:52

发现问题了!我似乎使用了Linux内核的错误版本。我使用的是我在问题中编写的版本所提供的默认内核。似乎该版本( 2.6.32-5-686版本)在调试-info中存在问题,所以我所做的只是尝试使用另一个版本(Linux3.9.6版和gcc版本4.7.2 Debian 4.7.2-5),并且没有出现问题:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31838080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档