首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

freetds 多线程有关问题

2012-09-29 
求助 freetds 多线程问题?代码太多,这里是关键代码,大家有疑问的地方可以让我贴出。C/C++ codevoid thread_

求助 freetds 多线程问题?

代码太多,这里是关键代码,大家有疑问的地方可以让我贴出。

C/C++ code
void thread_WaitRecv(){        char* sql;        sql = malloc(sizeof(char)*50);        memset(sql,0,sizeof(char)*50);        sprintf(sql,"select count(*) from UpdateTable");        //查询数据库         dbcmd(dbprocess, sql);         if(dbsqlexec(dbprocess) == FAIL) //执行后这里报错:[Inferior 1 (process 3108) exited with code 01],不知道这是什么情况?求助!!!        {             LOG("MS SQL:%s", "Query table 'isUpdateTable' error.");        }                 DBINT result_code;         char temCount[20]={0};                 while ((result_code = dbresults(dbprocess)) != NO_MORE_RESULTS){             if (result_code == SUCCEED){                 //设置缓冲区                dbbind(dbprocess, 1, CHARBIND, (DBINT)0, (BYTE*)temCount);                while (dbnextrow(dbprocess) != NO_MORE_ROWS){                              memcpy(count,temCount,20);                    memset(temCount,0,20);                }             }         }   }int main(void){    initmssql();    sleep(3);//开启线程检测表是否更新    pthread_t thread;    int temp;    memset(&thread,0,sizeof(thread));     /*创建线程*/    temp=pthread_create(&thread,NULL,(void *(*)(void *))thread_WaitRecv,NULL);    LOG("pthread:%s", "线程穿件成功!");}


[解决办法]
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。

进程意外退出会在当前目录下产生形如‘core.数字’的文件比如‘core.1234’
使用命令
gdb 运行程序名 core.数字
进入gdb然后使用bt命令
可以查看进程意外退出前函数调用的堆栈,内容为从上到下列出对应从里层到外层的函数调用历史。

热点排行