Chinaunix

标题: centos6.5 环境下在线程中使用函数指针的问题? [打印本页]

作者: meiyxq    时间: 2013-12-09 01:11
标题: centos6.5 环境下在线程中使用函数指针的问题?
#0  0x000000361778fee8 in main_arena () from /lib64/libc.so.6
#1  0x000000000040350f in ReadThread (args=<value optimized out>) at main.c:1490
#2  0x00007ffff7bc29d1 in start_thread () from /lib64/libpthread.so.0
#3  0x00000036174e8b6d in clone () from /lib64/libc.so.6

ReadThread是新开起的一个线程,在此线程中用函数指针的方式运行一个函数,在centos6.4中程序运行正常,但是升级到6.5后,就会出现上面的错误,最后错误的定位就在

用函数指针的方式运行一个函数上面,(pfunction)(0,nLen,pData);

跟踪后,程序没有进入到运行的函数内,应该是在 (pfunction)(0,nLen,pData); 此种调用存在问题。

高手看看呢!
作者: heartless_cu    时间: 2013-12-09 10:02
什么错误?看不出来。把代码贴出来。
作者: 井蛙夏虫    时间: 2013-12-09 11:25
升级后程序重新编译了吗
作者: meiyxq    时间: 2013-12-09 15:24
编译了!但是编译后还是如此!现在的问题,在centos6.4环境下不存在!.如果升级到centos6.5就会出现!...而且跟踪的话!程序没有运行到函数指针目标函数!
作者: 井蛙夏虫    时间: 2013-12-09 15:53
信息太少,看不出来。
6.4和6.5各是什么gcc版本?
函数指针是怎么初始化的?
函数指针指向的函数在什么位置?自己的代码、静态库还是动态库中?
编译有警告吗?是否加选项-Wall了?
程序是否挂了?如果挂了,是什么信号杀的?





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2