Directx SDK81, Debug版本下一切正常(link using Debug MultiThread DLL),生成release版后(link using MutilThread DLL),当IMediaControl没有在Run的情况下正常,在Run的时候按Button程序就会挂掉(在一大堆的MFC42, USER32的代码里面)
根本还没进入OnBtnXXXX,也抓不到Exception  :( 用内存和线程同步还算小心,一时看不出问题在那里。各位有没有什么思路阿Directx SDK 使用的是Debug Supported的,Program用了ISampleGrabber,在Callback中辗转由其他thread向MainWnd Post User-defined Message(PostMessage) 千恩万谢

解决方案 »

  1.   

    使用临界区了么?release也可以调试去掉优化+Gen Debug Info
      

  2.   

    问题是我在release下debug根本抓不到错,根本不进我的代码段,总是在Mfc42.dll中费劲儿呵, 把代码一点点注释掉.现在是发现只要PostMessage(OnMessageXXX 注释空了,do nothing)Release版就出错,怀疑是跨thread的Message有问题,改成用PostThreadMessage,表现一样!还有就是如果注释掉不call DirectX IMedieControl 的 pMC->Run(),无论是debug/releas
    用PostMessage/PostThreadMessage, 都没事。郁闷中......