线程之间通讯调试用什么工具比较好呢?
比如线程A向线程B发送了一个信号量SetEvent,
可是线程B就是没有收到,怎么调试呢?
用设置断点的办法是不行的。因为两个线程同时在跑。

解决方案 »

  1.   

    TRACE不行的话,就MessageBox、MessageBeep或者输出相关信息到文件!!
      

  2.   

    当然是TRACE大法加DebugView(一个用于接收TRACE信息的工具,可到http://www.sysinternals.com/ntw2k/freeware/debugview.shtml下载)。1.两个线程中,在你有怀疑的地方加上TRACE。
    2.编译。
    3.运行DebugView.
    4.独立VC运行你的程序(不要用VC的DEBUG启动)。
    5.在DebugView中观察程序的TRACE。
    6.你应该可以知道是什么回事啦。
      

  3.   

    OutputDebugString建立楼主阅读<Windows程序调试>,里面讲了很多的多线程程序的调试技巧。
      

  4.   

    DentistryDoctor(雅克医生<改行做程序员了>) 
    这个做法是授人以渔。<Windows程序调试>网上有电子书下载。最近它的作者John Robbins出了本
    <Debugging Applications for Microsoft.Net and Microsoft Windows>,中文版翻译书名为
    <Microsoft.NET和Windows应用程序调试>。
    我觉得作为Windows平台下的软件人员,应该多读读他写的这几本书。
      

  5.   

    还有可以看看MSND在线杂志的bugslayer专栏。