vs2005启动项目设置的问题

blsky112   2009-6-18 17:20 楼主
目前修改一个PDA开发项目,原来别人是用真实的硬件模拟器来进行设计开发的,启动项目设置的是一个DLL。而我现在直接用的VS2005的模拟器进行调试,所以修改成了另一个可以直接启动的项目,现在程序升级,所有我修改的功能都在原来他设置成启动项目的那个dll中,现在也只需替换原来的那个dll即可,但是我现在编译出来的那个dll运行一段时间就死机,我想问下,是否和我设置成的启动项目的文件不同有关?

回复评论 (9)

你修改的DLL运行一段时间就死机,说明你修改的有问题呗
点赞  2009-6-18 18:16
运行一段时间就死机的话,检查一下这些基本问题:
是否引用了空指针?
数组访问是否越界?
申请内存后是否释放?
内核对象创建后是否有回收?
……

死机一般都是由以上这类原因造成的,仔细检查一下你的代码,用DEBUG模式跑一下,看看死机的时候跑到哪里了,排除掉有问题的代码就好了。
点赞  2009-6-18 18:56
引用: 引用 2 楼 Roy_ly 的回复:
运行一段时间就死机的话,检查一下这些基本问题:
是否引用了空指针?
数组访问是否越界?
申请内存后是否释放?
内核对象创建后是否有回收?
……

死机一般都是由以上这类原因造成的,仔细检查一下你的代码,用DEBUG模式跑一下,看看死机的时候跑到哪里了,排除掉有问题的代码就好了。


真实的PDA上如何DEBUG啊?

想问下:
申请内存后是否释放?
内核对象创建后是否有回收?

这2个能否给个代码看下?
点赞  2009-6-18 19:24
引用: 引用 1 楼 91program 的回复:
你修改的DLL运行一段时间就死机,说明你修改的有问题呗


现在我想找出那有问题啊
点赞  2009-6-18 19:24
引用: 引用 3 楼 woaitiyu 的回复:
引用 2 楼 Roy_ly 的回复:
运行一段时间就死机的话,检查一下这些基本问题:
是否引用了空指针?
数组访问是否越界?
申请内存后是否释放?
内核对象创建后是否有回收?
……

死机一般都是由以上这类原因造成的,仔细检查一下你的代码,用DEBUG模式跑一下,看看死机的时候跑到哪里了,排除掉有问题的代码就好了。



真实的PDA上如何DEBUG啊?

想问下:
申请内存后是否释放?
内核对象创建后是否有回…


你的这个死机的问题在模拟器上面跑没出现过吗?到真机就会有问题?
点赞  2009-6-18 19:38
我意思是你在模拟器上面DEBUG一下,看看问题是咋回事嘛。
点赞  2009-6-18 19:40
申请内存后是否释放?
int * pArray = new int[100];
就是new或者malloc的内存有没有delete或者free,没有的话运行久了就会导致内存耗尽而死机。

内核对象创建后是否有回收?
内核对象包括各种句柄,
一般是CreateXXX,不用了以后要ReleaseXXX或者DeleteXXX之类的。
点赞  2009-6-18 19:55
引用: 引用 5 楼 Roy_ly 的回复:
引用 3 楼 woaitiyu 的回复:
引用 2 楼 Roy_ly 的回复:
运行一段时间就死机的话,检查一下这些基本问题:
是否引用了空指针?
数组访问是否越界?
申请内存后是否释放?
内核对象创建后是否有回收?
……

死机一般都是由以上这类原因造成的,仔细检查一下你的代码,用DEBUG模式跑一下,看看死机的时候跑到哪里了,排除掉有问题的代码就好了。


真实的PDA上如何DEBUG啊?

想问下:
申请内存后是否释放…


在模拟器上没办法跑,因为不确定什么时候会出现死机,因为并不是每一台PDA都会出现。有时会出现,有时不会出现
点赞  2009-6-18 20:31
引用: 引用 7 楼 Roy_ly 的回复:
申请内存后是否释放?
int * pArray = new int[100];
就是new或者malloc的内存有没有delete或者free,没有的话运行久了就会导致内存耗尽而死机。

内核对象创建后是否有回收?
内核对象包括各种句柄,
一般是CreateXXX,不用了以后要ReleaseXXX或者DeleteXXX之类的。


内核对象没有创建,你这pArray如何delete? 谢谢
点赞  2009-6-18 20:32
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复