问一个问题(程序没有任何提示的自动退出),顺便散点分
关于程序自动退出,一般可能都是堆栈什么的出了问题,因此我也一直很关注这一块。
程序运行在2000操作系统下,通过usb转多串口来实现对底层硬件模块的操作,一直以来都没有出什么大的问题,今天将底层硬件的两个模块互换一下位置,程序大概在运行1个多小时后崩溃(我已经使用了异常处理机制,在CWinApp的构造函数中就加了捕获函数,但很遗憾,程序退出没有给出预期的错误对话框)。在系统日志上,发现了一个不正常的事件“RSM 无法管理 PhysicalDrive1 库。它遇到了一个未指定的错误。 造成这个错误的原因可能有几个问题,包括但不限于 数据库损坏、与库通讯失败或 没有足够的系统资源。”,经过在网上搜寻,并自己分析,可能原因有:供电不稳定(这个我也最担心,但是没有好的方式去证明),USB转多串口没有遵循Intel的规范(这个更难证明了,这个驱动以及硬件结构是外包的)。
目前偶还没有什么好的办法去证明我的猜想,当然,程序也不一定就是一定没有问题(至少目前还想不出来造成程序崩溃的地方有哪些),因为在另外一台硬件结构完全不一样的机器上运行(连续一个月)一直没有出现任何问题,因此,可能是这台机器的某些硬件特性不同干扰了我的程序,而我的程序没有考虑到这种情况从而导致堆栈严重错误??????可我已经做了崩溃处理了啊
郁闷中,同时散分。。。。。。。。。。。。。
希望各位给我一些建议,调试的建议,不胜感激!