找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 3398|回复: 5

如何打印某个线程崩溃时的栈信息,大家有什么好方法

[复制链接]
发表于 2009-5-20 11:25:06 | 显示全部楼层 |阅读模式
如题,是否可以利用WIN32_STRUCTURAL_EXCEPTIONS结构化异常处理,或者是线程专属存储?
望大家不吝赐教:)
发表于 2009-5-20 11:49:51 | 显示全部楼层
有办法。
老早就用过。
给你一篇文章看看就知道了。
发表于 2009-5-20 11:50:56 | 显示全部楼层
 楼主| 发表于 2009-5-20 14:57:11 | 显示全部楼层
very good,thx
 楼主| 发表于 2009-5-20 15:29:22 | 显示全部楼层
呵呵,我的原意是这样:
譬如Server有n个线程,现在有个线程死掉了,它死的时候未释放锁资源,导致其他线程block。
为了找到那个down点,我想catch住所有线程入口到exit过程中的非正常异常,并在catch时打印线程当时的栈信息
问题是现场的栈信息如何打印出来。。。还要是友好点的如果是EIP类的,看起来很不方便
现在正在研究ACE_OS_Object_Manager::seh_except_selector(),
            ACE_OS_Object_Manager::seh_except_handler()
不知道有没有较大帮助
发表于 2009-5-20 22:46:10 | 显示全部楼层
与其这样,你不如自己仔细排查程序的问题,避免这种情况发生。
比如线程crash的时候,使用SEH等措施,强制回收锁资源,就可以防止影响其它处理了。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-11-26 07:48 , Processed in 0.015440 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表