目前修改一个PDA开发项目,原来别人是用真实的硬件模拟器来进行设计开发的,启动项目设置的是一个DLL。而我现在直接用的VS2005的模拟器进行调试,所以修改成了另一个可以直接启动的项目,现在程序升级,所有我修改的功能都在原来他设置成启动项目的那个dll中,现在也只需替换原来的那个dll即可,但是我现在编译出来的那个dll运行一段时间就死机,我想问下,是否和我设置成的启动项目的文件不同有关?
你修改的DLL运行一段时间就死机,说明你修改的有问题呗
运行一段时间就死机的话,检查一下这些基本问题:
是否引用了空指针?
数组访问是否越界?
申请内存后是否释放?
内核对象创建后是否有回收?
……
死机一般都是由以上这类原因造成的,仔细检查一下你的代码,用DEBUG模式跑一下,看看死机的时候跑到哪里了,排除掉有问题的代码就好了。
引用: 引用 3 楼 woaitiyu 的回复:
引用 2 楼 Roy_ly 的回复:
运行一段时间就死机的话,检查一下这些基本问题:
是否引用了空指针?
数组访问是否越界?
申请内存后是否释放?
内核对象创建后是否有回收?
……
死机一般都是由以上这类原因造成的,仔细检查一下你的代码,用DEBUG模式跑一下,看看死机的时候跑到哪里了,排除掉有问题的代码就好了。
真实的PDA上如何DEBUG啊?
想问下:
申请内存后是否释放?
内核对象创建后是否有回…
你的这个死机的问题在模拟器上面跑没出现过吗?到真机就会有问题?
我意思是你在模拟器上面DEBUG一下,看看问题是咋回事嘛。
申请内存后是否释放?
int * pArray = new int[100];
就是new或者malloc的内存有没有delete或者free,没有的话运行久了就会导致内存耗尽而死机。
内核对象创建后是否有回收?
内核对象包括各种句柄,
一般是CreateXXX,不用了以后要ReleaseXXX或者DeleteXXX之类的。
引用: 引用 5 楼 Roy_ly 的回复:
引用 3 楼 woaitiyu 的回复:
引用 2 楼 Roy_ly 的回复:
运行一段时间就死机的话,检查一下这些基本问题:
是否引用了空指针?
数组访问是否越界?
申请内存后是否释放?
内核对象创建后是否有回收?
……
死机一般都是由以上这类原因造成的,仔细检查一下你的代码,用DEBUG模式跑一下,看看死机的时候跑到哪里了,排除掉有问题的代码就好了。
真实的PDA上如何DEBUG啊?
想问下:
申请内存后是否释放…
在模拟器上没办法跑,因为不确定什么时候会出现死机,因为并不是每一台PDA都会出现。有时会出现,有时不会出现
引用: 引用 7 楼 Roy_ly 的回复:
申请内存后是否释放?
int * pArray = new int[100];
就是new或者malloc的内存有没有delete或者free,没有的话运行久了就会导致内存耗尽而死机。
内核对象创建后是否有回收?
内核对象包括各种句柄,
一般是CreateXXX,不用了以后要ReleaseXXX或者DeleteXXX之类的。
内核对象没有创建,你这pArray如何delete? 谢谢