当前位置: 技术问答>linux和unix
linux内核proc文件回显多行
来源: 互联网 发布时间:2017-05-23
本文导语: static int proc_read_ip(char *page, char **stat, off_t off, int count, int *eof, void *data) { int i; unsigned char pn = IP_SWITCH_GL&0x7f; short int len=0; if(off > 0) return 0; for(i=0;i page + len 吧。 | 如果我来调...
static int proc_read_ip(char *page, char **stat, off_t off, int count, int *eof, void *data)
{
int i;
unsigned char pn = IP_SWITCH_GL&0x7f;
short int len=0;
if(off > 0)
return 0;
for(i=0;i page + len 吧。
{
int i;
unsigned char pn = IP_SWITCH_GL&0x7f;
short int len=0;
if(off > 0)
return 0;
for(i=0;i page + len 吧。
|
如果我来调试这个问题,发现真实的场合下不正常,我会简化成最简单的方式,分步解决问题。比如:
1、先搞个简单的proc读写函数,看看能不能有多行,如果是,说明proc的基本处理是对的,问题可能在ip_filter的获取、组装上。
2、再在获取ip_filter前后打印出错,组装前的数据、组装后的数据,看看是否一致。
1、先搞个简单的proc读写函数,看看能不能有多行,如果是,说明proc的基本处理是对的,问题可能在ip_filter的获取、组装上。
2、再在获取ip_filter前后打印出错,组装前的数据、组装后的数据,看看是否一致。
|
没有上下文,靠个人猜测。
看代码意图上看,是没有问题的:一个循环把所有的数据组装起来。但这个代码问题多多,没有其它信息,真不知道到底有没有错误。
另外,楼主也可以试试直接用 cat /proc/xxxx来读取一下那个文件,看看文件中是不是显示完整还是只显示最后一行。
看代码意图上看,是没有问题的:一个循环把所有的数据组装起来。但这个代码问题多多,没有其它信息,真不知道到底有没有错误。
另外,楼主也可以试试直接用 cat /proc/xxxx来读取一下那个文件,看看文件中是不是显示完整还是只显示最后一行。