网站建设方案交换认苏州久远网络php网站怎么缓存
web/
2025/10/2 19:26:53/
文章来源:
网站建设方案交换认苏州久远网络,php网站怎么缓存,网站专题素材,2021能看的网站不要app贴吧一个月的时间#xff0c;就为了解决一个问题#xff0c;段错误运行环境#xff1a;arm-linux模块#xff1a;XML#xff0c;为多线程#xff0c;多socket的网络通信协议程序现象#xff1a;XML在运行一段时间以后#xff0c;出现段错误#xff0c;运行的时间和出现问题…一个月的时间就为了解决一个问题段错误运行环境arm-linux模块XML为多线程多socket的网络通信协议程序现象XML在运行一段时间以后出现段错误运行的时间和出现问题的地方都不一样解决的过程1、仔细检查了所有的动态申请内存和释放的地方2、将所有的strcpy改为strncpysprintf改为snprintf3、检查了所有的数组的边界问题4、将所有多线程互用的全局变量用互斥保护起来5、检查所有的多线程互用的函数发现了三个不安全的函数将strerrno改为strerror_rgmtime改为gmtime_r gethostbyname改为gethostbyname_r至此还是崩掉。欲哭无泪6、最后的原因XML为一个多线程进程多线程都会调用一个共享库函数该函数是一个线程不安全的函数他会调用malloc和free/// 行struct LineIni{char line[MAX_LINE_LEN] ; /// 行的原来int nPosEqual ;struct LineIni * next ; /// 下一行};static struct LineIni LineHead ;由于共享库函数中有static变量而该变量中又是一个动态的指针链导致多线程调用时该变量被破坏malloc和free就会出错。这就是为什么我用gdb跟踪始终无法地位只是弹出Program received signal SIGSEGV, Segmentation fault.[Switching to Thread 131081 (LWP 568)]0x403f8784 in mallopt () from /lib/libc.so.6不想推卸责任可这毕竟是以前同事写的代码。问题解决了我没有一丝的喜悦。我知道我已疲倦。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85781.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!