- 博客(7)
- 收藏
- 关注
原创 Mac OS X开发之内存泄漏测试
Xcode提供了Instruments工具用于对应用程序进行各种性能相关的测试,其中也包含内存泄漏测试,但它是GUI程序,不便于进行自动化测试,所以这里暂不关注它。以后会有机会详解它的使用方法。Xcode另带了一个命令行工具leaks,是专为内存泄漏测试而生的。Mac OS X 10.7及以后的版本,操作系统也自带leaks命令。本文将着重介绍它的使用方法。
2015-01-09 12:33:20 5186 1
原创 Mac OS X开发中在程序运行时判断某个API是否存在
Mac OS开发经常碰到的一个问题是,Apple特有的API的更新换代很快,一个API去年还用得好好的,在今年新发布的OS版本中就被弃用了,换成一个新的API。为了实现相应的功能,又为了使用程序能够同时支持老版本和新版本,程序中必须确保在新老版本OS中用对正确API。对于Objective-C类来说,如果是某个类的成员函数被弃用,可以调用类的静态函数respondsToSelector在运行时
2015-01-08 12:49:03 1113
原创 解决MS Excel for Mac 2011打开无响应问题
今天碰到一个奇怪的问题,在公司还用得好好的MS Excel for Mac 2011,在家里就打不开了。现象是运行程序后,没有出现窗口,虽然有菜单出现,但点击File菜单,看到子菜单后,出现彩色风车,就再也没有响应了。第一个想到的可能原因是它在试图恢复什么文档,但恢复出问题了,找到MS Office的AutoRecovery目录,下面是空的。第二个的可能的原因是程序的Cache是不是有问题
2015-07-06 21:42:43 3963
原创 Mini Filter Driver触发Bugcheck D1问题分析
前段时间帮朋友改进他做的文件加密Mini Filter Driver,好不容易把期待的功能完善好了,测试时开始频繁触发蓝屏,Bugcheck号是D1。WinDbg对这个错误号的简单解释如下:DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)An attempt was made to access a pageable (or completely invalid) ad
2015-01-04 12:28:14 2095
原创 DllMain()限入死锁问题分析 (三)
在前一篇文章《DllMain()限入死锁问题分析 (二)》里,我们分析了LoadLibrary()与子线程访问PebLdr的目的,知道它们要进入同一关键区的原因所在。下一个问题是,为什么在子线程要进入该关键区时,LoadLibrary()还没有退出关键区?正常情况下LoadLibrary()何时会退出关键区?
2014-12-11 12:23:11 728
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人