不迎不送,来去自便,无茶无酒,谈笑随缘

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2009年1月21日

摘要: 在编写一个PocketPC应用程序的时候遇到一个奇怪的错误,当运行到某一函数中两个CString对象相赋值的时候,编译器就会抛出地址保护性异常,仔细地检查了一下这个函数,其中并没有直接使用指针对内存进行操作,也没有两个自定义对象之间采用等号的方式进行赋值的运算,对这个函数进行了一下完整的单步执行追踪,并没有发现该函数中有任何内存上的漏洞,因此可以断定内存漏洞并不是发生在该函数中的。于是花了2个小时的时间对程序进行了走查,在关键的地方添加断点单步运行,查看内存中的变化,发现某一个对象的析构函数被多次调用,而对象所对应的类的析构函数中有使用delete释放指针的情况,于是恍然大悟,原来自认为对什么 阅读全文
posted @ 2009-01-21 19:43 wude 阅读(154) 评论(0) 推荐(0) 编辑