现在的位置: 首页 > 综合 > 正文

systemtap ERROR: Build-id mismatch: “kernel” vs. “vmlinux” byte 0

2018年03月21日 ⁄ 综合 ⁄ 共 605字 ⁄ 字号 评论关闭
错误:
ERROR: Build-id mismatch: "kernel" vs. "vmlinux" byte 0 (0x42 vs 0xe0) address 0xffffffff814e5b80 rc 0
Pass 5: run failed.  Try again with another '--vp 00001' option.
解决办法 参考:这里
修改/usr/share/systemtap/runtime/sym.c
修改方法如下:
打开/usr/share/systemtap/runtime/sym.c的代码看了一下,找到了错误信息的输出代码:
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)       
_stp_error ("Build-id mismatch: \"%s\" vs. \"%s\" byte %d (0x%02x vs 0x%02x) address %#lx rc %d\n",           m->name, basename, j, theory, practice, notes_addr, rc);      
   return 1; 
 #else
再往前看:
 if (rc || (theory != practice)) 
{       
const char *basename;
这里判断了build-id是否相等,如果不相等,则报错,于是我将代码改成如下:
if (rc || /*(theory != practice)*/) 
{      
 const char *basename;

不判断build-id是否相等,保存

抱歉!评论已关闭.