情景: 使用MethodSwizzle 实现对数组.字典 等系统方法的安全校验.显然能达到预期效果,但实际发现当 键盘显示的情况下  home app 进入后台,再单击app  图标 切换回前台时 发生crash : [UIKeyboardLayoutStar release]: message sent to deallocated instance UIKeyboardLayoutStar 是键盘上的布局的视图吧, 整个工程都在ARC下 构建,很奇怪,而且必须. 信息: http://hua…
__NSArrayM objectAtIndex: 取消swizzle 只有debug的时候会报错,发布的时候是好的,所以可以不用改…
网上大家都说是因为替换了系统的objextAtIndex方法,但是为了减少应用崩溃的可能,是要进行Hook的,所以不想取消Hook. 解决办法,关掉键盘进入后台. - (void)applicationWillResignActive:(UIApplication *)application { [[UIApplication sharedApplication].keyWindow endEditing:YES]; }…
[CALayer release]: message sent to deallocated instance iOS内存过度释放问题 解决方式: 1:先找到过度释放的 内存指针 开启-僵尸模式:xcode---Product--scheme--Edit Scheme ----Diagnostics---选中 Enable Zombie Objects 然后 运行 程序 ,点出 崩溃: 2:如果上面方式,还找不到 过度释放内存的指针: xcode--Product--Profile---选择 Z…
遇到此问题时,查看以下类的dealloc方法中是否有过度释放. 可以在release前先判断以下对象是否还存在. -(void)dealloc { if (!m_tableView) [m_tableView release]; if (!m_historySearchWordsTable)  [m_historySearchWordsTable release]; [super dealloc]; } 建议:远程release(如dealloc中)时都要判断以下对象是否还存在,因为你不清楚是否…
runtime MethodeSwizzle 提供 简单的方法交换已知类的  Method IMP. Method 可以是 外部可访问的 public 或者 private Method .所谓的属性或私有变量 也不过是 getter/setter Method 而已. MethodeSwizzle 技术 几乎可以实现你要使用 已知类的所有东西. so Powerful. 代码实现: #import <Foundation/Foundation.h> @interface NSObject (…
初级:第一步   为程序添加符号断点 malloc_error_break  方法如下. 目标效果:让程序崩溃时跳转到出错到那一行.但是往往达不到这个效果.不行就继续往下看. At times, while running through your app, you might come across this warning on console: MyApp(2121,0xb0185000) malloc: *** error for object 0x1068310: double fre…
已经有好一阵子没有写博文了,今天给大家带来一篇最近一段时间开发相关的文章:在impala和kudu上支持runtime filter. 大家搜索下实践者社区,可以发现前面已经有好几位同学写了这个主题的博文(都是我们组的^_^),说明这个功能在数据库领域的重要性,所以,嘿嘿,再敲一遍黑板:“重点,必考题!” 附上年初测试kudu时候的博文< [大数据之数据仓库]kudu性能测试报告分析>作为背景. 背景准备 为了生动.立体的给大家展示runtime filter功能,这里就以一个具体的sql例子…
[20180124]奇怪的SQL*Net message from dblink.txt --//生产系统出现大量的SQL*Net message from dblink事件,自己分析看看. 1.环境:--//这个环境是服务器在分院,有时候要通过dblink访问总院的数据库. xxxx> @ ver1PORT_STRING                    VERSION        BANNER------------------------------ -------------- -…
<CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX <CMake实践>笔记三:构建静态库与动态库 及 如何使用外部共享库和头文件 前言: 开发了5,6年的时间,如果没有KDE4,也许不会有人或者Linux发行版本重视cmake,因为除了Kitware似乎没有人使用它.通过KDE4的选型和开发,cmake逐渐进入了人们的视线,在实际的使用过程中,cmak…