1

我希望有人解释如何“解密”以下挡泥板输出:

mudflap violation 1 (check/write): time=1352235104.713060 ptr=0x61a000 size=20
pc=0x2b12e5f4 location=`connect.c:645:3 (connect_init)'
      [0x613d88]
Nearby object 1: checked region begins 252B after and ends 271B after
mudflap object 0x619f30: name=`malloc region'
bounds=[0x619f00,0x619f04] size=5 area=heap check=0r/0w liveness=0
alloc time=1352235104.712374 pc=0x2b12db34 thread=715976208
      /lib/libmudflapth.so.0(__mf_register+0x80) [0x2b12db34]
Nearby object 2: checked region begins 23121B after and ends 23140B after
mudflap dead object 0x6145d8: name=`calloc region'
bounds=[0x614550,0x6145af] size=96 area=heap-init check=0r/0w liveness=0
alloc time=1352235104.704859 pc=0x2b12db34 thread=715976208
      /lib/libmudflapth.so.0(__mf_register+0x80) [0x2b12db34]
dealloc time=1352235104.711583 pc=0x2b12d498 thread=715976208
number of nearby objects: 2

有人可以逐行引导我吗?目前这没有多大意义:-/ ...

提前致谢!

4

1 回答 1

0

第一行为您提供了最重要的数据:

... connect.c:645:3 (connect_init)

我会connect.c在 function 的第 645 行查看您的源代码connect_init。这是发生访问冲突的地方。这不一定是有问题的代码,但它是一个寻找坏代码的好开始。如果此函数是干净的,请尝试评估正在调用connect_init的代码以及指针或堆区域的来源。

其他部分似乎识别了一些堆对象(malloc 区域、calloc 区域)。第一个仍在使用中(仅分配时间),第二个已归还给堆(分配和释放时间)。

于 2012-11-06T21:27:49.230 回答