社区
进程/线程/DLL
帖子详情
如何查找谁启动了线程???
jxb_memory
2009-11-30 09:06:53
我写了一个MFC的后台程序,现在发现有时会增加多余的线程而且导致CPU占用率非常高,经调试基本确认不是我写的代码启动的线程,那么我如何才能调试出来是什么代码启动的线程呢???
...全文
104
7
打赏
收藏
如何查找谁启动了线程???
我写了一个MFC的后台程序,现在发现有时会增加多余的线程而且导致CPU占用率非常高,经调试基本确认不是我写的代码启动的线程,那么我如何才能调试出来是什么代码启动的线程呢???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
togoblime
2009-11-30
打赏
举报
回复
运行Process Explorer,再启动你的程序,选中你的进程在右键菜单中打开"Properties"对话框,切换到"Threads",再点击"Stack"就能监视到线程的调用过程了(只能看到CreateThread之后的堆栈)。
或者用WinDbg设置好符号路径,载入可执行文件,在命令行输入"bp kernel32!CreateThread"设置断点,可以看到比较详细的堆栈
jxb_memory
2009-11-30
打赏
举报
回复
不知道为什么“多余的线程怎么会导致CPU占用率非常高”才来问的,基本确定。
还没淹死的鱼
2009-11-30
打赏
举报
回复
多余的线程怎么会导致CPU占用率非常高呢?
你确定?
jxb_memory
2009-11-30
打赏
举报
回复
程序里面COM和Socket都有,没法单步调试,因为这个现象不是经常有的一般要经过好几天才出一回没发调试啊!哪位高人有什么高招没?
mengde007
2009-11-30
打赏
举报
回复
由于你用MFC;它内部经常会产生线程;比如说一个异步的socket;你只能一步一步跟踪到底层代码
wangk
2009-11-30
打赏
举报
回复
你用的某个组件创建的?比如说ADO之类的。
直接在CreateThread下断点试试看吧
chenyu2202863
2009-11-30
打赏
举报
回复
是不是你的主题给你远程创建的?
Redis 6.0 之后为何引入了多
线程
?6.0 之前为什么不使用多
线程
?
在 Redis 6.0 之前,Redis 是单
线程
的,这是因为 Redis 的设计目标是高性能和高并发,而单
线程
模型可以避免多
线程
带来的
线程
切换和锁竞争等开销,从而提高 Redis 的性能和并发能力。此外,Redis 的单
线程
模型还可以...
Java中main方法是单
线程
还是多
线程
?
启动
后有多少个
线程
会被创建?
先说结论:main方法
启动
后,jvm会开启多个守护
线程
,但main方法中的代码是被单
线程
执行的。 上代码: 下面这段代码通过java提供的
线程
管理类ThreadMXBean中的dumpAllThreads方法返回所有活动
线程
的
线程
信息,并打印...
Redis 到底是单
线程
还是多
线程
?
1 Redis单
线程
问题 主要是指Redis的网络IO和键值对读写是由一个
线程
来完成的,Redis在处理客户端的请求时包括获取 (socket 读)、解析、执行、内容返回 (socket 写) 等都由一个顺序串行的主
线程
处理,这就是所谓的...
一起剖析Linux和RTOS的
线程
机制
1.3.1创建
线程
????1.3.2
线程
等待????1.3.3
线程
的分离????1.3.4
线程
的退出????1.3.5
线程
的取消????1.4
线程
池的概念????1.5实战篇:Linux
线程
代码演示????2.RTOS
线程
篇????2.1RT-Thread简介????2.2
线程
管理的特点????...
python多
线程
,
线程
停止后重启的方法
网上看了一些什么用setName方法重命名并再
启动
线程
的方法,还是会报错 所以现在基本思路是: 因PYTHON的垃圾回收机制,关闭的
线程
会自动回收,所以不必担心
启动
太多
线程
而造成的内存问题。 1、把所有
线程
保存在一个...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章