![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
疑难问题
文章平均质量分 56
镇关西
linux环境C/C++开发,关注多核优化、网络,特别是TCP/IP协议栈。
展开
-
慎用所谓的libnet2.0版本
组内的一个新人在网上下了一个libnet 2.0的安装包,两重gzip的压缩包,解压缩后make;make install通过,编译自己的发包程序也OK。但是奇怪的是当程序运行一段时间后就会出现段错误,gdb查看崩溃了的堆栈,是挂在libnet内部调用realloc函数上,这原创 2011-09-22 15:19:45 · 1600 阅读 · 0 评论 -
多线程/多进程gdb调试时变量值出现变化问题定位
不要考虑什么CPU缓存一致性、内存屏障之类的问题,首先排除是不是多线程/进程访问的同步没做好。 1、会被多线程调用吗? 2、共享内存多进程读写的同步保证了吗?原创 2017-03-11 11:28:08 · 1480 阅读 · 0 评论 -
linux系统内核UDP丢包原因分析
2016-07-22更新1、UDP校验和错误现象:可以用netstat -su 查看到有UDP错包。tcpdump捕包,在wireshark打开捕获的udp报文,开启校验和选项,若有错包。方案:查找链路故障。2、防火墙开启现象:特定端口的包收不到方案:使用service iptables stop关闭。3、rp_filter开启现象:tcpdump有包,协议栈收原创 2012-11-22 16:42:19 · 9761 阅读 · 1 评论 -
不能用sendmsg提升原始套接字发送性能
sendmsg可以提升原始套接字发送效率吗?为什么会返回EMSGSIZE错误?原创 2016-08-10 16:01:56 · 2293 阅读 · 0 评论 -
tcpdump捕包乱序的解决方案
tcpdump捕包乱序的解决方案原创 2016-01-12 17:38:38 · 4626 阅读 · 0 评论 -
两次访问同一静态URL得到的文件长度不一样
在使用chrome浏览器请求一个媒体服务器上的URL时 ,应答的Content-Length不一致。原创 2016-01-24 15:30:29 · 2622 阅读 · 0 评论 -
Linux操作系统时间相关函数性能下降原因分析
在排查操作系统升级后应用性能降低过程中,发现同硬件平台下2.6.32内核版本usleep函数产生的开销远大于2.6.18内核上的。 软硬件环境如下主机A主机BCPU Intel E5-2630 24核2.6GHz内存 DDR3 64GBRHEL-6.4(Kernel原创 2015-03-27 19:27:05 · 3280 阅读 · 0 评论 -
使用iconv进行GBK到BIG5编码转/简繁转换遇到的问题
Linux操作系统中的iconv命令/函数可以将一种已知的字符集文件转换成另一种已知的字符集文件。在使用它进行GBK到BIG5的编码转换时,遇到"iconv:illeagal input sequence at positon xx ”的错误。有个一个文本文件gbk.txt,只有四个汉字,内容如下:喜欢德芙使用下面的命令,在shell中进行转换 iconv -f gbk -t原创 2015-02-27 10:56:02 · 6724 阅读 · 0 评论 -
使用backtrace获得动态链接库的调用地址
调用backtrace的时候,动态链接库(.so)的调用地址不能直接调用addr2line得到代码行数,stackoverflow上的方法比较麻烦可以通过读取/proc/pid/maps获得动态能链接库加载路径。int get_backtrace_string(void* bt,char* buff,int buff_size){ char cmd[128] = {0}; ch原创 2013-12-29 15:44:21 · 4946 阅读 · 0 评论 -
C语言中switch case的类型比较机制
int func(char i){ switch(i) { case 0x82: return 1; default: return 0; }}int main(){ unsigned char a=0x82; ret=func(a); if(ret==1) { printf("bingo"); } else原创 2014-08-22 19:10:53 · 2134 阅读 · 0 评论 -
Linux动态链接库同名符号装载问题(二)
上一篇《Linux动态链接库同名符号装载问题(一)》中提到了动态链接的一些问题,本文主要讨论动态加载时符号冲突的问题。PART1:RTLD_DEEPBIND打开动态链接导致段错误的现象可执行程序A通过dlopen动态加载library.so,有可能出现library.so中和这样的情况: 程序A中存在函数search_hash()library.so中同样存在函数search_hash()dl...原创 2014-07-18 15:57:51 · 5327 阅读 · 0 评论 -
不刷机让越狱后的iphone恢复出厂设置
iphone越狱后,设置里的清除所有内容和设置选项是不生效的,选上之后菊花转个不停,只能强制退出,还有白苹果的危险。若想恢复出厂设置有两个办法:原创 2013-07-21 14:35:02 · 119790 阅读 · 5 评论 -
winpcap/wireshark在win7 64位系统下IP头部结构长度为0的bug
使用wireshark 1.6.2,win7 64位版本,winpcap版本4.1.2。操作系统的MTU为1500字节,但是wireshark能够捕获到超过1500字节的数据报,IP报文首部的长度部分没有填充。推测是winpcap捕包的钩子在win7下挂的不够底层,没等操作系统分片就捕获了上来,或者使用了TSO机制。原创 2012-05-30 20:45:43 · 4085 阅读 · 2 评论 -
使用SIGALRM信号量和sleep冲突的解决办法
系统中的一个模块需要频繁的获取系统时间,使用linux中内置的函数开销过大,因为需要的精度不是很高(毫秒级),索性用signal函数配合setitimer实现了个简易的全局时钟。但是后来发现,SIGALRM的中断信号回终止sleep,因为sleep就是用SIGALRM信号量实原创 2011-09-28 16:32:11 · 14865 阅读 · 8 评论 -
Latex Error “Font txsy at 540 not found“
使用windows的CMD工具,执行initexmf --mkmaps另外,该问题也可能导致”citation xxx undefined”错误。 参照 https://tex.stackexchange.com/questions/262962/error-font-ptmr8r-at-480-not-found原创 2017-05-11 17:11:19 · 3553 阅读 · 3 评论