menu.ini在cygwin下~不能更新问题

问题:menu.ini修改后在cygwin下按~不能执行。menu.ini生成sysconf.img2,如果修改menu.ini后,主选单~后,照程序就会生成一个sysconf.img2.tmp文件。在linux环境打开的文件,也可以直接mv a b;而windows就不行,所以cygwin下~不能更新。

原因:因为windows的文件系统和unix的不一样。windows是不允许删除或者改名正打开的文件的。

解决的方法:是需要bbs关闭时手动删掉sysconf.img2,再把sysconf.img2.tmp改名为sysconf.img2。然后清共享内存后,重新进入bbs,menu.ini才会更新。

不止底线,这个地方总是有问题的,因为windows的文件系统和unix的不一样。你知道windows是不允许删除或者改名正打开的文件的。如果有底线就有问题,没有底线的话,有时~也不行,需要bbs关闭时手动删掉

如果menu.ini是正确的,然后你删了sysconf.img2,然后再登陆telnet第一个用户的时候,会根据menu.ini内容创建一个新的sysconf.img2,就像~的作用一样,并且这方法在cygwin里面没问题。现在你说用户登陆了就进入退出界面,就是sysconf.img2错误,那就说明menu.ini不对,因为每次可以新生成sysconf.img2的。另外注意/home/bbs/etc/目录下应该有sysconf.ini,此文件是安装bbs时生成的,不能删除。要不更新menu.ini时就会出错。

程序出错时,可以查看/home/bbs/deverrlog,就是错误记录。

动态底线的文件夹是/home/bbs/etc/endline,先移走etc/endline,~之后再移回来。

gdb跟踪过程:

先telnet上bbs,停在输入用户名那里。然后在gdb里面attach,然后c,然后在bbs里面输入用户名登陆。这样到了你刚才的断点就会停下来了。

shell>gdb src/bbs -p ***

gdb> tb main.c:304            <--------从此行开始,是用户登录的界面

gdb> c

telnet方式输入用户名和密码,断点停下来。

gdb> n
跟踪!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值