CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  进程/线程/DLL

多线程调试问题(观察一段代码运行中的线程切换)

楼主tramper2000(tramper)2005-06-02 00:56:08 在 VC/MFC / 进程/线程/DLL 提问

我有一段代码执行时间应在1ms以内,现有时候会有100ms左右的情况。我想观察在这段代码运行期间,都切换到了哪几个线程,应该怎样做?  
   
  谢谢! 问题点数:0、回复次数:9Top

1 楼xtjqu(LPVOID)回复于 2005-06-02 01:15:55 得分 0

关注,这个问题太典型了,顶Top

2 楼tramper2000(tramper)回复于 2005-06-02 14:24:31 得分 0

高手请支招!  
   
  Top

3 楼betsyalan(alan)回复于 2005-06-02 16:18:13 得分 0

线程间的上下文切换是很占资源的,如果想查看切换了哪些线程,可以有很多办法,例如你采用调试的方式,在线程内断点;或者使用TRACE宏在线程中输出有线程特征的变量;或者采用写日志的方式来记录哪些线程调用了。Top

4 楼younggle(洋溢)回复于 2005-06-02 16:30:18 得分 0

线程间的上下文切换是很占资源的,如果想查看切换了哪些线程,可以有很多办法,例如你采用调试的方式,在线程内断点;或者使用TRACE宏在线程中输出有线程特征的变量;或者采用写日志的方式来记录哪些线程调用了。  
  ===========================================================================  
  一般是这样了:调试,输出调试信息,写日记。Top

5 楼orbit(走了走了)回复于 2005-06-02 16:45:21 得分 0

线程切换是操作系统的事情,线程自己是不知道的,通过TRACE线程特征(比如线程ID)只能知道代码在那个线程执行,至于是否这个线程被切换了或切换了多少次是无法得知的Top

6 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2005-06-02 17:38:01 得分 0

可以考虑TRACE/OutputDebugString,但这有何意义?这是操作系统的事,你又干预不了。Top

7 楼tramper2000(tramper)回复于 2005-06-02 18:54:10 得分 0

各位:  
  因为我不知到切换到哪去了,可能都不是这个进程了,是没法用日志或Trace的  
  这是很大一问题◎Top

8 楼danscort2000(danscort.yu)回复于 2005-06-03 09:50:09 得分 0

这好象很难吧,  
  一般只有用TRACE+断点来跟踪,  
  因为线程切换是OS的问题,不同OS在不同软硬环境下切换算法是不一致的,  
  你在这台机器上看到的,并不见得在另外一台上也这样运行。  
  没有什么意义的,  
  真想看,  
  那么用同步,加CONSEL输出,用INTERLOCKED系列函数,  
  对变量进行实时输出检查。Top

9 楼tramper2000(tramper)回复于 2005-06-03 18:50:09 得分 0

有俩思路:  
  1.用DebugEvent,好像没有线程切换的EVENT  
  2.用PViewer的实现思路  
   
  大家再想想~~~~Top

相关问题

  • 多线程调试问题????
  • 多线程调试问题????
  • 怎样调试多线程?
  • 多线程的程序怎么调试?
  • winsock 多线程 调试问题
  • 多线程调试的问题
  • 如何在gdb调试多线程?
  • 多线程跟踪调试问题
  • 多线程啊多线程
  • vc下的黑屏程序,如何调试多线程程序

关键词

  • 线程
  • 代码
  • 断点
  • 切换
  • 运行
  • 调试
  • 输出
  • 变量
  • 日志
  • trace

得分解答快速导航

  • 帖主:tramper2000

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo