社区
Linux/Unix社区
帖子详情
还是pthread_cancel时出现段错误的问题???还望高手指点一下
wj025
2008-07-28 03:05:05
我可以确定是pthread_cancel.c中的35行: if (INVALID_TD_P (pd))时出的错误.
但不知原因是什么???
有一个原因可以确定:如果tid,即pd如果为0时,会出错这个错误;
不知还有什么原因可以导致这个错误呢???
INVALID_TD_P具体做哪些检查啊???
好像是否是线程堆栈出错啦??
...全文
182
2
打赏
收藏
还是pthread_cancel时出现段错误的问题???还望高手指点一下
我可以确定是pthread_cancel.c中的35行: if (INVALID_TD_P (pd))时出的错误. 但不知原因是什么??? 有一个原因可以确定:如果tid,即pd如果为0时,会出错这个错误; 不知还有什么原因可以导致这个错误呢??? INVALID_TD_P具体做哪些检查啊??? 好像是否是线程堆栈出错啦??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fierygnu
2008-07-28
打赏
举报
回复
看一下core
linaxing
2008-07-28
打赏
举报
回复
在调用pthread_cancel()之前检查一下传入的线程ID是否为有效值。
另外,也有可能是你程序的其它地方有内存的越界访问,导致整个栈出了问题了。
调试多线程确实比较麻烦,没有太好的工具。多加点log是一个比较好的选择。
spin用户态加锁源码分析
源码分析版本:glic-2.9 ...p
thread
_spin_lock: int p
thread
_spin_lock (lock) p
thread
_spinlock_t *lock; { asm ("\n" "1:\t" LOCK_PREFIX "decl %0\n\t" //锁总线,开始加锁,在%0 "...
用户态spinlock
spin用户态加锁源码分析 源码分析版本:glic-2.9...p
thread
_spin_lock: int p
thread
_spin_lock (lock) p
thread
_spinlock_t *lock; { asm ("\n" "1:\t" LOCK_PREFIX "decl %0\n\t" //锁总线,开始加锁,在%0
liunx线程——
高手
勿喷
高手
勿喷,写错请
指点
指点
,谢谢观看
VC++中可能遇到的
问题
收藏
VC++中可能遇到的
问题
收藏 | 旧一篇: 在VC中动态加载ODBC
时
的一些小细节 function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d....
Valgrind对于大型程序似乎作用不好
查到了这个工具,下载使用了
一下
,觉得对小程序还是挺好用的,但是对稍微大一点的程序就比较麻烦了,信息比较混乱,很难看出具体的
问题
来。比如:/*new2.cpp*/#include "stdio.h"int main(){...
Linux/Unix社区
23,126
社区成员
74,510
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章