我的VC写的程序。引入了一个media player组件 结果debug的时候关闭程序时没错
release时关闭程序说 "0x7c93070f"指令引用的"0x00dcc49d"内存。该内存不能为"read"
像这种错误可以通过什么方式来排查?

解决方案 »

  1.   


    可能是指针或者其它句柄的问题。这个只能自己调试,最保险也是最笨的方法,就是把自己的代码,一点一点的加上去,每次都测试运行是否正常(包括关闭时),然后找到关闭时出错的那一次,你相比前一次正常时新加了的代码是什么,就知道问题出在哪了。因为你这个Debug 版本运行不出错,release 版本时才出错,只能一步一步的排查了,这些问题,一般都是指针导致的,你可以试着把那些  delete [] p 之类的先屏蔽试试。或者是这些 delete 指针的命令都先屏蔽试试。(当然,最后还是要加上这些的,否则会内存泄露,特别是在循环中 new 的内存空间,更要及时释放。)
      

  2.   

    加outputdebugstring一步步定位错误。
    另外release版也可以设断点调试。