关于Intel® TChecker和Intel® TProfiler的两个问题

lee_beckham 2008-04-07 11:06:17
1.请帮忙分析Intel® TChecker的工作原理,并据此给出Intel® TChecker从加载被检测的可执行程序开始,到给出诊断信息这一段工作的具体流程。
2.请帮忙分析Intel® TProfiler的工作原理,并据此给出Intel® TProfiler从加载被检测的可执行程序开始,到给出时间信息这一段工作的具体流程。
...全文
92 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lee_beckham 2008-04-13
  • 打赏
  • 举报
回复
十分感谢您的帮助!
intel_www 2008-04-08
  • 打赏
  • 举报
回复
这个详细说起来就复杂了,简而言之就是两个工具都通过对用户代码进行重构,然后再用户代码运行时监控并收集用户代码所有对内存的访问以及线程同步对象使用的信息,然后再对这些信息进行分析最后得到程序中可能存在的数据共享错误,同步/互斥错误,以及线程间执行关系的结果,最后已用户可读性较高的方式,例如列表,源代码映射,柱状图,时间关系图等,显示给用户看。

关于什么是代码重构可参见我的另一个帖子:<http://topic.csdn.net/u/20080331/11/aaaf1372-a9ca-4183-8154-ad8e68eb6e63.html>

Intel® Thread Checker主要收集内存访问和线程同步对象使用信息,因为它的目的是发现那些对共享数据进行未经保护读写操作的错误和顺序不正确的加锁/借锁操作错误等;

Intel® Thread Profiler主要关心的是线程创建/销毁,同步对象操作信息,因为它的主要目的是分析各个线程在整个程序执行过程中相互之间的影响和时间关系,以及各个同步对象(锁,信号量等等)对程序性能的影响。用户从这些数据中就可以较方便的找出改进的地方。

使用Thread Profiler之前要先保证程序已经是可以正确完成功能,没有错误的;也就是一般我们会先用Thread Checker来查错,等错误都被排除后再用Thread Profiler来做性能调优。


566

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧