多线程应用程序调试技术要领.pdfVIP

  • 3
  • 0
  • 约1.31万字
  • 约 5页
  • 2017-07-07 发布于北京
  • 举报
\\\ 竺竺 多线程应用程序调试技术 飘广) (广东工业大学,广州510006) 摘要:对多线程应用程序进行调试是一项具有挑战性的任务。多线程应用程序采用的互斥、同步 技术使得调试时查看程序运行状态变得困难.线程的时序和多个线程间的交叉执行增加了 studio调 程序调试的复杂性。采用适用于调试多线程应用程序的通用技术,并结合Visual 试器提供的工具可以有效调试多线程应用程序。 关键词:多线程;调试技术;调试器;调试工具 1 多线程应用程序调试的复杂性 试多线程程序所带来的负担。 在顺序或单线程程序中.程序按照顺序执行.没有 2 多线程应用程序通用调试技术 复杂的时序和交互.在某种初始状态下开始执行程序. 程序员掌握越多的调试知识.积累越多的调试经 输入需要的数据.然后通过单步全程跟踪程序的执行. 验。就越能轻松驾驭软件调试。如果掌握了相对完整、 程序员基本上可以发现软件中的所有错误.这使得单线 系统的调试基础知识和概念.程序员就可以更轻松地 程程序调试相对简单.利用一般调试器的简单断点功能 完成调试多线程应用程序这一项繁琐、费时的但又不 和单步调试功能就可以对单线程程序进行有效地调试。 可避免的任务。 但是对于多线程应用程序的调试.如果只使用简 2.1在设计时考虑调试问题 单断点和单步调试是很难完成的。多个线程竞争使用 虽然想完全避免调试是不可能的.但是如果代码 临界资源是多线程程序普遍存在的问题.而在设置的 本身的错误不多。那么调试丁作就会相对轻松。要减少 断点处或单步跟踪点处的中断或其他调用极有可能影 多线程程序代码中的缺陷.首先要减少在软件设计开 响多线程之间的竞争状态.从而改变程序的真实执行 始时引入的错误。很多软件错误都可以通过采用正确 路径。更复杂的,多线程应用程序的执行受到很多因素 的软件开发过程来避免。在设计多线程应用程序时,应 的影响,包括机器的动态负载.操作系统的进程和线程 该注意以下几个问题。 的调度策略、进程和线程的优先级情况、CPU的时间片 (1)应用程序应该被设计成能够串行执行 设定、通信和执行迟延等.在对其进行调试时。由于断 一个应用程序应该总是能够进行串行执行111。对于 点或跟踪点等使得程序的暂停有可能影响上述因素的 一个问题的解决方案.可以先设计一个单线程版本.经 状态.而这些因素的变化可能产生很多不可预料的情 过测试与调试.满足功能后再转化为多线程版本。这样 形,例如死锁、无限延迟,数据竞争以及其他问题。 可以使程序员提前发现和消除与线程无关的错误.从 所有的这些都使得多线程应用程序的调试工作变 而在多线程版本调试时能够更关注与多线程有关的问 得相当复杂,确定程序出错时的状态很困难.而了解某 题.更快地切入问题的重点。

文档评论(0)

1亿VIP精品文档

相关文档