Open taxiyan opened 12 years ago
@taxiyan 能帮忙用 gdb 测试一下吗? 如果你的机器上安装了 gdb的话.
在终端下运行 gdb /usr/bin/gtkqq, 然后输入r运行, 登录, 出错了会停止, 然后按 bt. 把信息打印出来.
ps: 你输出的信息中可以把你的密码去掉
GNU gdb (GDB) 7.3.1 Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu". For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/... Reading symbols from /usr/bin/gtkqq...(no debugging symbols found)...done. (gdb) r Starting program: /usr/bin/gtkqq [Thread debugging using libthread_db enabled] [New Thread 0xb69fab70 (LWP 1668)] [New Thread 0xb61f9b70 (LWP 1669)] [New Thread 0xb59f8b70 (LWP 1670)] DEBUG : Open db connection to /home/电脑用户名/.gtkqq/gtkqq.db (dao.c, 81) DEBUG : GQQConfig setter: info (gqqconfig.c, 151) DEBUG : Start Get Number and face images main loop...(msgloop.c, 36) DEBUG : Start Send main loop...(msgloop.c, 36) DEBUG : Start Get informain main loop...(msgloop.c, 36) DEBUG : Start login... qqnum: QQ数字号, status: online (loginpanel.c, 319) DEBUG : Run login state machine...(loginpanel.c, 322) DEBUG : Check veriry code...(qqlogin.c, 45) DEBUG : resolving host by name: ptlogin2.qq.com
DEBUG : GQQConfig setter: qqnum (gqqconfig.c, 151) DEBUG : GQQConfig setter: passwd (gqqconfig.c, 151) DEBUG : GQQConfig setter: status (gqqconfig.c, 151) DEBUG : GQQConfig setter: rempw (gqqconfig.c, 151) DEBUG : resolved: ptlogin2.qq.com (121.14.76.234)
DEBUG : connecting to 121.14.76.234:80
DEBUG : Did not using proxy bypass ...(qqproxy.c,752) DEBUG : check vc return: ptui_checkVC('0','!8JA');(qqlogin.c, 101) DEBUG : Verify code : !8JA (qqlogin.c, 118) DEBUG : Cookie ptvfsession=3f3bae38c22a2978e493527f07bf0c100c2a02d0088e54eed9403f6b6f89df8c9a526bba33a91022bb8b2ec83db7de8d (qqlogin.c, 32) DEBUG : Get version...(qqlogin.c, 643) DEBUG : resolving host by name: ui.ptlogin2.qq.com
DEBUG : resolved: ui.ptlogin2.qq.com (121.14.95.109)
DEBUG : connecting to 121.14.95.109:80
DEBUG : Did not using proxy bypass ...(qqproxy.c,752) DEBUG : Content-Length: 20.(url.c, 320) DEBUG : Version: 2011120110(qqlogin.c, 275) DEBUG : Login...(qqlogin.c, 657) DEBUG : Get ptcz and skey...(qqlogin.c, 660) DEBUG : resolving host by name: ptlogin2.qq.com
DEBUG : resolved: ptlogin2.qq.com (119.147.74.122)
DEBUG : connecting to 119.147.74.122:80
DEBUG : Did not using proxy bypass ...(qqproxy.c,752) DEBUG : Success.(qqlogin.c, 393) DEBUG : Cookie ptcz=f3cb817a18841f4e9a64a9ce8b86592560d659edeab71fd02b96719f6bd21c69 (qqlogin.c, 32) DEBUG : Cookie skey=@xITDzv0kO (qqlogin.c, 32) DEBUG : Cookie ptwebqq=1f126dee3d285e790a386c5c5c9a31ca0f41ae86bd62f6b18c8e2f8a57cd7606 (qqlogin.c, 32) DEBUG : Cookie ptuserinfo=e78e9be5818745e6b5a9 (qqlogin.c, 32) DEBUG : Cookie uin=oQQ数字号 (qqlogin.c, 32) DEBUG : Cookie ptisp=ctc (qqlogin.c, 32) DEBUG : Cookie pt2gguin=oQQ数字号 (qqlogin.c, 32)
Program received signal SIGABRT, Aborted. [Switching to Thread 0xb61f9b70 (LWP 1669)] 0xb7fde424 in __kernel_vsyscall () (gdb) bt
Backtrace stopped: Not enough registers or memory available to unwind further (gdb) quit A debugging session is active.
Inferior 1 [process 1665] will be killed.
Quit anyway? (y or n)DEBUG : Cookie pt2gguin=oQQ数字号 (qqlogin.c, 32)
Program received signal SIGABRT, Aborted. [Switching to Thread 0xb61f9b70 (LWP 1669)] 0xb7fde424 in __kernel_vsyscall () (gdb) bt
Backtrace stopped: Not enough registers or memory available to unwind further (gdb) quit A debugging session is active.
Inferior 1 [process 1665] will be killed.
Quit anyway? (y or n)
刚上的那个重定向多了一段。。看这个吧。。。
GNU gdb (GDB) 7.3.1 Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu". For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/... Reading symbols from /usr/bin/gtkqq...(no debugging symbols found)...done. (gdb) r Starting program: /usr/bin/gtkqq [Thread debugging using libthread_db enabled] [New Thread 0xb69fab70 (LWP 1668)] [New Thread 0xb61f9b70 (LWP 1669)] [New Thread 0xb59f8b70 (LWP 1670)] DEBUG : Open db connection to /home/电脑用户名/.gtkqq/gtkqq.db (dao.c, 81) DEBUG : GQQConfig setter: info (gqqconfig.c, 151) DEBUG : Start Get Number and face images main loop...(msgloop.c, 36) DEBUG : Start Send main loop...(msgloop.c, 36) DEBUG : Start Get informain main loop...(msgloop.c, 36) DEBUG : Start login... qqnum: QQ数字号, status: online (loginpanel.c, 319) DEBUG : Run login state machine...(loginpanel.c, 322) DEBUG : Check veriry code...(qqlogin.c, 45) DEBUG : resolving host by name: ptlogin2.qq.com
DEBUG : GQQConfig setter: qqnum (gqqconfig.c, 151) DEBUG : GQQConfig setter: passwd (gqqconfig.c, 151) DEBUG : GQQConfig setter: status (gqqconfig.c, 151) DEBUG : GQQConfig setter: rempw (gqqconfig.c, 151) DEBUG : resolved: ptlogin2.qq.com (121.14.76.234)
DEBUG : connecting to 121.14.76.234:80
DEBUG : Did not using proxy bypass ...(qqproxy.c,752) DEBUG : check vc return: ptui_checkVC('0','!8JA');(qqlogin.c, 101) DEBUG : Verify code : !8JA (qqlogin.c, 118) DEBUG : Cookie ptvfsession=3f3bae38c22a2978e493527f07bf0c100c2a02d0088e54eed9403f6b6f89df8c9a526bba33a91022bb8b2ec83db7de8d (qqlogin.c, 32) DEBUG : Get version...(qqlogin.c, 643) DEBUG : resolving host by name: ui.ptlogin2.qq.com
DEBUG : resolved: ui.ptlogin2.qq.com (121.14.95.109)
DEBUG : connecting to 121.14.95.109:80
DEBUG : Did not using proxy bypass ...(qqproxy.c,752) DEBUG : Content-Length: 20.(url.c, 320) DEBUG : Version: 2011120110(qqlogin.c, 275) DEBUG : Login...(qqlogin.c, 657) DEBUG : Get ptcz and skey...(qqlogin.c, 660) DEBUG : resolving host by name: ptlogin2.qq.com
DEBUG : resolved: ptlogin2.qq.com (119.147.74.122)
DEBUG : connecting to 119.147.74.122:80
DEBUG : Did not using proxy bypass ...(qqproxy.c,752) DEBUG : Success.(qqlogin.c, 393) DEBUG : Cookie ptcz=f3cb817a18841f4e9a64a9ce8b86592560d659edeab71fd02b96719f6bd21c69 (qqlogin.c, 32) DEBUG : Cookie skey=@xITDzv0kO (qqlogin.c, 32) DEBUG : Cookie ptwebqq=1f126dee3d285e790a386c5c5c9a31ca0f41ae86bd62f6b18c8e2f8a57cd7606 (qqlogin.c, 32) DEBUG : Cookie ptuserinfo=e78e9be5818745e6b5a9 (qqlogin.c, 32) DEBUG : Cookie uin=oQQ数字号 (qqlogin.c, 32) DEBUG : Cookie ptisp=ctc (qqlogin.c, 32) DEBUG : Cookie pt2gguin=oQQ数字号 (qqlogin.c, 32)
Program received signal SIGABRT, Aborted. [Switching to Thread 0xb61f9b70 (LWP 1669)] 0xb7fde424 in __kernel_vsyscall () (gdb) bt
Backtrace stopped: Not enough registers or memory available to unwind further (gdb) quit A debugging session is active.
Inferior 1 [process 1665] will be killed.
Quit anyway? (y or n)
@taxiyan debug的信息完全看不出什么来, 看看core文件的信息.
谢谢. 这个问题可能是栈溢出的问题.
输出的结果跟上面的一样。。。 bt
Backtrace stopped: Not enough registers or memory available to unwind further
@taxiyan 你用的什么操作系统, 多少位的? 我模拟看看, 另外你的代码是 git 上最新的吗?
archlinux i686 aur上的脚本。。git最新的。。
ArchLinux用户路过,表示没有任何问题。
^[[34m^[[1mDEBUG : ^[[0mOpen db connection to /home/pcusername/.gtkqq/gtkqq.db (dao.c, 81)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mGQQConfig setter: info (gqqconfig.c, 151)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mStart Get informain main loop...(msgloop.c, 36)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mStart Get Number and face images main loop...(msgloop.c, 36)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mStart Send main loop...(msgloop.c, 36)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mStart login... qqnum: qq数字账号, status: hidden (loginpanel.c, 319)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mRun login state machine...(loginpanel.c, 322)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mGQQConfig setter: qqnum (gqqconfig.c, 151)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mGQQConfig setter: passwd (gqqconfig.c, 151)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mGQQConfig setter: status (gqqconfig.c, 151)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mGQQConfig setter: rempw (gqqconfig.c, 151)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mCheck veriry code...(qqlogin.c, 45)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mresolving host by name: ptlogin2.qq.com ^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mresolved: ptlogin2.qq.com (119.147.74.122) ^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mconnecting to 119.147.74.122:80 ^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mDid not using proxy bypass ...(qqproxy.c,752)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mcheck vc return: ptui_checkVC('0','!16J');(qqlogin.c, 101)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mVerify code : !16J (qqlogin.c, 118)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mCookie ptvfsession=00822f5a5ac9d1af4829e6b053ee6df9e72ef3ea9f8653081b9cc53aa3e0230c6fe617decb24dcd0b8e471d6c638f42e (qqlogin.c, 32)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mGet version...(qqlogin.c, 643)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mresolving host by name: ui.ptlogin2.qq.com ^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mresolved: ui.ptlogin2.qq.com (121.14.95.108) ^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mconnecting to 121.14.95.108:80 ^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mDid not using proxy bypass ...(qqproxy.c,752)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mContent-Length: 20.(url.c, 320)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mVersion: 2011120110(qqlogin.c, 275)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mLogin...(qqlogin.c, 657)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mGet ptcz and skey...(qqlogin.c, 660)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mresolving host by name: ptlogin2.qq.com ^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mresolved: ptlogin2.qq.com (183.60.3.162) ^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mconnecting to 183.60.3.162:80 ^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mDid not using proxy bypass ...(qqproxy.c,752)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mSuccess.(qqlogin.c, 393)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mCookie ptcz=290be0e9d154bdd21165ab2320abe95df939288a9a46392ecbd357edc2340f01 (qqlogin.c, 32)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mCookie skey=@ZSBtBW0tZ (qqlogin.c, 32)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mCookie ptwebqq=dc6355fcdd5575cb63ef4989080071a7ac3ea64371af89a98be34ae28d8fe42f (qqlogin.c, 32)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mCookie ptuserinfo=e59ab4e58189e88faf (qqlogin.c, 32)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mCookie uin=o0qq数字账号 (qqlogin.c, 32)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mCookie ptisp=ctc (qqlogin.c, 32)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mCookie pt2gguin=o0qq数字账号 (qqlogin.c, 32)^[[0m ^[[0m