我做的一个综合自动化系统正在调试中,今天在运行中发现了一个问题,我找不出原因在那里,所以请这里的朋友帮个忙,提个建议:我有二个程序,一个是netcom.exe,一个是he2000.exe,我用netcom.exe来启动he2000.exe,netcom.exe只有在he2000.exe关闭的前提下才能自动关闭,但是现在系统在运行的时候,我发现netcom.exe运行不到一分钟就会自动关闭,我查了一下软件,不是调用CFrameWnd::OnClose()关闭程序的,可能是内存的原因,但是不知道有什么办法或工具可以找出原因?

解决方案 »

  1.   

    1.弄点日志什么的,看它是怎么退出的。netcom.exe只有在he2000.exe关闭的前提下才能自动关闭?
    是不是用到了FindWindow之类的?注意检查这部分代码。
      

  2.   

    To: happyparrot
        我查找了出口,原因不在那里。To: DentistryDoctor
        是的,先要关闭he2000.exe,他会在关闭前发消息通知netcom.exe关闭的。
        日志?我试试。谢谢回复的两位朋友。
      

  3.   

    你用CreateProcess创建一个进程,然后用WaitSingleObject无限等待CreateProcess中得到的创建进程的handle。之后退出即可,不要用定时检测,不准确的。
      

  4.   

    估计你对he2000.exe的退出的判断上存在错误,导致netcom.exe误认为he2000.exe已经退出。把关于判断的那部分代码贴出来。
      

  5.   

    我找到出错的原因了,是程序里面有BUG,谢谢各位