下面这个是TCP的槽函数,当tcpSocket监控到有数据时执行下面的函数。现在的情况是当接受到的字符是regsuc或者regfail或者logfail都可以正常运行,当接受到logsucc的时候程序就会崩溃啊!!!
void MainWindow::on_readyReady()
{
char buffer[256];
char *str1;
char regsuc[8]="regsuc";
char regfail[9]="regfail";
char buffer_fail[10]="logfail";
// char buffer_friend[512];
char buffer_log[9]="logsucc";
char buffer_logtemp[8];
tcpSocket->read(buffer,tcpSocket->bytesAvailable());
str1=strtok(buffer,"@");
printf("The buffer is %s\n",buffer);
if(!strcmp(buffer_log,buffer)) {
QMessageBox::information(NULL, tr("提示"), tr("登录成功!"));
}
if(!strcmp(regsuc,buffer)) {
//printf("register success,haha\n");
QMessageBox::information(NULL, tr("提示"), tr("恭喜!用户注册成功!"));
}
if(!strcmp(regfail,buffer)) {
//printf(" register fail,haha\n");
QMessageBox::information(NULL, tr("提示"), tr("很遗憾,该用户名已存在!"));
}
if(!strcmp(buffer_fail,buffer)) {
//printf(" register fail,haha\n");
QMessageBox::information(NULL, tr("提示"), tr("用户名或密码错误!"));
}
}
生成了一个BUG文件,BUG文件的内容如下,请大家看下什么原因呢?
System: Linux 2.6.25-14.fc9.i686 #1 SMP Thu May 1 06:28:41 EDT 2008 i686
X Vendor: The X.Org Foundation
X Vendor Release: 10499901
Selinux: Enforcing
Accessibility: Disabled
GTK+ Theme: Nodoka
Icon Theme: Fedora
Memory status: size: 64012288 vsize: 64012288 resident: 22679552 share: 16683008 rss: 22679552 rss_rlim: 4294967295
CPU usage: start_time: 1403254775 rtime: 69 utime: 22 stime: 47 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 100
Backtrace was generated from '/usr/libexec/<unknown>'
[Thread debugging using libthread_db enabled]
[New Thread 0xb7f9d720 (LWP 1796)]
0x00110416 in __kernel_vsyscall ()
#0 0x00110416 in __kernel_vsyscall ()
#1 0x0011eb43 in __waitpid_nocancel () from /lib/libpthread.so.0
#2 0x04ac1d97 in g_spawn_sync () from /lib/libglib-2.0.so.0
#3 0x04ac20dc in g_spawn_command_line_sync () from /lib/libglib-2.0.so.0
#4 0x01640253 in ?? () from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
#5 0x016407d8 in ?? () from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
#6 0x01640893 in google_breakpad::ExceptionHandler::InternalWriteMinidump ()
from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
#7 0x01640e23 in google_breakpad::ExceptionHandler::HandleException ()
from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
#8 <signal handler called>
#9 0x00000000 in ?? ()
Thread 1 (Thread 0xb7f9d720 (LWP 1796)):
#0 0x00110416 in __kernel_vsyscall ()
No symbol table info available.
#1 0x0011eb43 in __waitpid_nocancel () from /lib/libpthread.so.0
No symbol table info available.
#2 0x04ac1d97 in g_spawn_sync () from /lib/libglib-2.0.so.0
No symbol table info available.
#3 0x04ac20dc in g_spawn_command_line_sync () from /lib/libglib-2.0.so.0
No symbol table info available.
#4 0x01640253 in ?? () from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
No symbol table info available.
#5 0x016407d8 in ?? () from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
No symbol table info available.
#6 0x01640893 in google_breakpad::ExceptionHandler::InternalWriteMinidump ()
from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
No symbol table info available.
#7 0x01640e23 in google_breakpad::ExceptionHandler::HandleException ()
from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
No symbol table info available.
#8 <signal handler called>
No symbol table info available.
#9 0x00000000 in ?? ()
No symbol table info available.
#0 0x00110416 in __kernel_vsyscall ()
The program is running. Quit anyway (and detach it)? (y or n) [answered Y; input not from terminal]
QMetaObject::connectSlotsByName: No matching signal for on_readyReady()
/usr/libexec/<unknown>: No such file or directory.