社区
进程/线程/DLL
帖子详情
多线程调试问题(观察一段代码运行中的线程切换)
tramper2000
2005-06-02 12:56:08
我有一段代码执行时间应在1ms以内,现有时候会有100ms左右的情况。我想观察在这段代码运行期间,都切换到了哪几个线程,应该怎样做?
谢谢!
...全文
123
9
打赏
收藏
多线程调试问题(观察一段代码运行中的线程切换)
我有一段代码执行时间应在1ms以内,现有时候会有100ms左右的情况。我想观察在这段代码运行期间,都切换到了哪几个线程,应该怎样做? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
danscort2000
2005-06-03
打赏
举报
回复
这好象很难吧,
一般只有用TRACE+断点来跟踪,
因为线程切换是OS的问题,不同OS在不同软硬环境下切换算法是不一致的,
你在这台机器上看到的,并不见得在另外一台上也这样运行。
没有什么意义的,
真想看,
那么用同步,加CONSEL输出,用INTERLOCKED系列函数,
对变量进行实时输出检查。
tramper2000
2005-06-03
打赏
举报
回复
有俩思路:
1.用DebugEvent,好像没有线程切换的EVENT
2.用PViewer的实现思路
大家再想想~~~~
tramper2000
2005-06-02
打赏
举报
回复
各位:
因为我不知到切换到哪去了,可能都不是这个进程了,是没法用日志或Trace的
这是很大一问题◎
DentistryDoctor
2005-06-02
打赏
举报
回复
可以考虑TRACE/OutputDebugString,但这有何意义?这是操作系统的事,你又干预不了。
吹泡泡的小猫
2005-06-02
打赏
举报
回复
线程切换是操作系统的事情,线程自己是不知道的,通过TRACE线程特征(比如线程ID)只能知道代码在那个线程执行,至于是否这个线程被切换了或切换了多少次是无法得知的
younggle
2005-06-02
打赏
举报
回复
线程间的上下文切换是很占资源的,如果想查看切换了哪些线程,可以有很多办法,例如你采用调试的方式,在线程内断点;或者使用TRACE宏在线程中输出有线程特征的变量;或者采用写日志的方式来记录哪些线程调用了。
===========================================================================
一般是这样了:调试,输出调试信息,写日记。
betsyalan
2005-06-02
打赏
举报
回复
线程间的上下文切换是很占资源的,如果想查看切换了哪些线程,可以有很多办法,例如你采用调试的方式,在线程内断点;或者使用TRACE宏在线程中输出有线程特征的变量;或者采用写日志的方式来记录哪些线程调用了。
tramper2000
2005-06-02
打赏
举报
回复
高手请支招!
xtjqu
2005-06-02
打赏
举报
回复
关注,这个问题太典型了,顶
多
线程
调试
1
多
线程
调试
开发过
多
线程
应用的朋友应该有体会,有些时候,为了
观察
多个
线程
间变量的不同状态,以及锁的获取等,就会想到在代码里加个断点debug一下。在IDE里断点停下来的时候,可以
切换
到另外的
C++
多
线程
编程
调试
技巧
。本系列
中
将详细的介绍两种方法来
调试
多
线程
程序:一种自然是使用GDB,另一种是使用...但在
多
线程
编程过程
中
很多程序
问题
出在启动阶段,而且很难使用gdb进行
调试
,我们可以采用手工插入以下辅助代码暂停程序运行 do { i
IntelliJ IDEA 高级
调试
技巧及
多
线程
调试
技巧
三、
多
线程
调试
四、远程
调试
五、临时执行表达式/修改变量的运行值 条件断点 条件断点就是当满足某个条件(通常是表达式)时,debug断点才会生效;这在循环
中
debug是非常有用的;例如我们想要在循环体
中
调试
:当...
visual studio(2015/2017)
调试
多
线程
程序
教程来自巨头微软官方机翻 ...Visual Studio 提供多种工具和用户界面元素,用于
调试
多
线程
应用程序。 本教程演示如何使用
线程
标记、“并行堆栈”窗口、“并行监视”窗口、条件断点、筛选器断点。 完成本教...
IDEA
多
线程
断点
调试
下面是
一段
多
线程
代码: import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class AQSDebug { private Lock lock = new ReentrantLock(); ...
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章