首页 > 其他 > 详细

Debug POSIX 多线程

时间:2014-01-21 09:37:46      阅读:335      评论:0      收藏:0      [点我收藏+]

Debug 多线程问题通常会遇到,死锁,资源释放出错,进程不能正常退出等。

1. 死锁的问题可以通过加debug message 来解决。

2. 后面两个问题可能会用到一些下面到方式。


启动每一个线程时输出线程ID, 在结束时根据线程ID判断哪个线程没有退出。

#gettid

pid_t gettid(void)
{
    return syscall(SYS_gettid);
}



#running task

void running_task(void)
{
    char cmd[32];
    memset(cmd, 0, sizeof cmd);
    printf("main pid: %d\n", getpid());
    sprintf(cmd, "ls /proc/%d/task", getpid());
    system(cmd);
 }



Debug POSIX 多线程

原文:http://blog.csdn.net/qianguozheng/article/details/18259827

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!