- 主题:请教掉线问题--版主过多了
版主那片应该是超出60 了, 然后任免版主或者修改版面属性时设置管理员时都会掉线
另外先问一下, grep BM_LEN发现好多文件中有定义, 如果要增加这个长度是不是需要每个都改呢? 增加这个长度会产生其他副作用么?
参考之前几位大侠的指导,
gdb -p BBSD_PID 之后显示
GNU gdb 6.3-debian
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-linux".
Attaching to process 6427
Using host libthread_db library "/lib/libthread_db.so.1".
warning: could not load vsyscall page because no executable was specified
warning: try using the "file" command first
Reading symbols from /home/bbs/bin/bbsd...done.
Reading symbols from /usr/lib/libmysqlclient.so.10...done.
Loaded symbols for /usr/lib/libmysqlclient.so.10
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /usr/lib/libesmtp.so.5...done.
Loaded symbols for /usr/lib/libesmtp.so.5
Reading symbols from /usr/lib/i686/cmov/libssl.so.0.9.7...done.
Loaded symbols for /usr/lib/i686/cmov/libssl.so.0.9.7
Reading symbols from /usr/lib/i686/cmov/libcrypto.so.0.9.7...done.
Loaded symbols for /usr/lib/i686/cmov/libcrypto.so.0.9.7
Reading symbols from /lib/libpthread.so.0...done.
[Thread debugging using libthread_db enabled]
[New Thread -1212082496 (LWP 6427)]
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /usr/lib/libltdl.so.3...done.
Loaded symbols for /usr/lib/libltdl.so.3
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
0xb7cdc868 in select () from /lib/libc.so.6
然后 gdb里 c, bbs操作界面按下最后一个回车,
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1212082496 (LWP 6427)]
0x0808ddd1 in set_BM ()
再 gdb里bt
#0 0x0808ddd1 in set_BM ()
Cannot access memory at address 0xbf002958
然后(gdb) p 0x0808ddd1
$1 = 134798801
uname -a
Linux bbs 2.6.12 #3 SMP i686 GNU/Linux
Debian 的机器
$ gcc -v
Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --enable-__cxa_atexit --with-system-zlib --enable-nls --without-included-gettext --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
Thread model: posix
gcc version 3.3.5 (Debian 1:3.3.5-13)
菜鸟一个, 希望大侠不吝赐教:)
--
FROM 211.99.222.*
是最新的svn代码么,我记得越界会有警告的。。。
如果已经越出去了然后不能改就写个程序改回来。。。:)
【 在 NewBiee (aa) 的大作中提到: 】
: 版主那片应该是超出60 了, 然后任免版主或者修改版面属性时设置管理员时都会掉线
: 另外先问一下, grep BM_LEN发现好多文件中有定义, 如果要增加这个长度是不是需要每个都改呢? 增加这个长度会产生其他副作用么?
你先看看这些文件是干嘛用的:)
增加这个长度会改变boardheader结构体,也就是你要转换.BOARDS文件
: 参考之前几位大侠的指导,
: gdb -p BBSD_PID 之后显示
: GNU gdb 6.3-debian
: Copyright 2004 Free Software Foundation, Inc.
: GDB is free software, covered by the GNU General Public License, and you are
: welcome to change it and/or distribute copies of it under certain conditions.
: Type "show copying" to see the conditions.
: There is absolutely no warranty for GDB. Type "show warranty" for details.
: This GDB was configured as "i386-linux".
: Attaching to process 6427
: Using host libthread_db library "/lib/libthread_db.so.1".
: warning: could not load vsyscall page because no executable was specified
: warning: try using the "file" command first
: Reading symbols from /home/bbs/bin/bbsd...done.
: Reading symbols from /usr/lib/libmysqlclient.so.10...done.
: Loaded symbols for /usr/lib/libmysqlclient.so.10
: Reading symbols from /usr/lib/libz.so.1...done.
: Loaded symbols for /usr/lib/libz.so.1
: Reading symbols from /lib/libcrypt.so.1...done.
: Loaded symbols for /lib/libcrypt.so.1
: Reading symbols from /lib/libnsl.so.1...done.
: Loaded symbols for /lib/libnsl.so.1
: Reading symbols from /lib/libm.so.6...done.
: Loaded symbols for /lib/libm.so.6
: Reading symbols from /usr/lib/libesmtp.so.5...done.
: Loaded symbols for /usr/lib/libesmtp.so.5
: Reading symbols from /usr/lib/i686/cmov/libssl.so.0.9.7...done.
: Loaded symbols for /usr/lib/i686/cmov/libssl.so.0.9.7
: Reading symbols from /usr/lib/i686/cmov/libcrypto.so.0.9.7...done.
: Loaded symbols for /usr/lib/i686/cmov/libcrypto.so.0.9.7
: Reading symbols from /lib/libpthread.so.0...done.
: [Thread debugging using libthread_db enabled]
: [New Thread -1212082496 (LWP 6427)]
: Loaded symbols for /lib/libpthread.so.0
: Reading symbols from /usr/lib/libltdl.so.3...done.
: Loaded symbols for /usr/lib/libltdl.so.3
: Reading symbols from /lib/libdl.so.2...done.
: Loaded symbols for /lib/libdl.so.2
: Reading symbols from /lib/libc.so.6...done.
: Loaded symbols for /lib/libc.so.6
: Reading symbols from /lib/ld-linux.so.2...done.
: Loaded symbols for /lib/ld-linux.so.2
: 0xb7cdc868 in select () from /lib/libc.so.6
: 然后 gdb里 c, bbs操作界面按下最后一个回车,
: Program received signal SIGSEGV, Segmentation fault.
: [Switching to Thread -1212082496 (LWP 6427)]
: 0x0808ddd1 in set_BM ()
: 再 gdb里bt
: #0 0x0808ddd1 in set_BM ()
: Cannot access memory at address 0xbf002958
: 然后(gdb) p 0x0808ddd1
: $1 = 134798801
: uname -a
: Linux bbs 2.6.12 #3 SMP i686 GNU/Linux
: Debian 的机器
: $ gcc -v
: Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
: Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --enable-__cxa_atexit --with-s
: Thread model: posix
: gcc version 3.3.5 (Debian 1:3.3.5-13)
: 菜鸟一个, 希望大侠不吝赐教:)
--
FROM 221.219.13.*
是smth1.2.1的....几任前辈都建议不要升级,于是一直用着.
在 fancyrabbit (兔兔猫★Initial F★等量叠加纠缠) 的大作中提到: 】
: 是最新的svn代码么,我记得越界会有警告的。。。
: 如果已经越出去了然后不能改就写个程序改回来。。。:)
程序 请兔总 指点指点 :) 小弟不是科班出身,实在很菜...
: 你先看看这些文件是干嘛用的:)
: 增加这个长度会改变boardheader结构体,也就是你要转换.BOARDS文件
嗯, 一起看看准备升级了:)
--
FROM 211.99.222.*
程序 ... 就最土鳖的方法,不用停站
init_all()(用么?忘了。。)一下
resolve_boards() 一下,
用bid或者filename找到对应的版
把那个boardheader的BM字段重写一下
嫌麻烦懒得写就apply_boards(),里头那个函数判断一下filename,不是那个版就return
是那个版就写点东西回去就好了,注意别写错了 ...
另外你看一下后头的title字段有没有破,有就一起写了
怎么写可以参见doc/kbsIntro.txt里关于boardheader结构体的说明,嗯
如果说要我帮你写程序的话 @@ ... 我的开发环境还坏着呢,现在没法试验@@ ...
【 在 NewBiee (aa) 的大作中提到: 】
: 是smth1.2.1的....几任前辈都建议不要升级,于是一直用着.
手头没代码,可能是任命版主菜单没判断这东西 ...
: 程序 请兔总 指点指点 :) 小弟不是科班出身,实在很菜...
: 嗯, 一起看看准备升级了:)
: ...................
--
FROM 221.219.13.*
相关代码可以参考一下你smth1.2代码里修改版面属性的部分,呃。。
不知道还能说些啥@@ ...
【 在 fancyrabbit (兔兔猫★Initial F★等量叠加纠缠) 的大作中提到: 】
: 程序 ... 就最土鳖的方法,不用停站
: init_all()(用么?忘了。。)一下
: resolve_boards() 一下,
: ...................
--
FROM 221.219.13.*
非常感谢兔总指教!
【 在 fancyrabbit (兔兔猫★Initial F★等量叠加纠缠) 的大作中提到: 】
: 相关代码可以参考一下你smth1.2代码里修改版面属性的部分,呃。。
: 不知道还能说些啥@@ ...
--
FROM 211.99.222.*