推荐序 本文介绍了恢复符号表的技巧,并且利用该技巧实现了在 Xcode 中对目标程序下符号断点调试,该技巧可以显著地减少逆向分析时间。在文章的最后,作者以支付宝为例,展示出通过在 UIAlertView 的 show 方法处下断点,从而获得支付宝的调用栈的过程。 本文涉及的代码也开源在:https: ...
分类:
移动开发 时间:
2016-08-30 09:24:04
阅读次数:
301
作用:将一些复制的算法变为简单,比如:(举例子)计算数组 var a =[1,3,4,6,7,8]的长度;求 5!的值,也可以做搜索用等。 缺陷:如果递归函数的终止条件不明确或者缺少终止条件会导致函数长时间运行,是用户界面处于假死状态。 注意:浏览器对递归的支持熟练与JS调用栈大小直接相关,当使用太 ...
分类:
Web程序 时间:
2016-08-30 01:44:40
阅读次数:
192
先编译好要调试的程序。 1.设置断点 选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可。 2.开启调试会话 点击红色箭头指向的小虫子,开始进入调试。 IDE下方出现Debug视图,红色的箭头指向的是现在调试程序停留的代码行,方法f2()中,程序的第11行。红色箭头悬停的区域是程序的方法调用栈 ...
分类:
移动开发 时间:
2016-08-26 12:01:28
阅读次数:
209
经常有人问关于模态对话框和系统菜单内部实现原理方面的问题, 因为系统通过API隐藏了太多细节,这2个问题确实令初学者甚至是有经验的开发者困扰, 下面是我个人的一些经验总结。先说模态对话框,外部看模态对话框其实就是Dialog弹出以后函数(或者说调用栈call stack)不直接返回, 而是要让你做出 ...
分类:
其他好文 时间:
2016-08-19 00:54:33
阅读次数:
235
活着,就一直在忙碌,从未有停歇。 最近,忙里偷闲,整理自己的技术知识体系,随便写写,权当Mark。 问题界定 发现问题,解决问题。 案例一:高并发和MongoDB交互 问题描述:Job跑起价时,CPU Load很高。 Dump分析:查看线程调用栈信息,有42个线程在如下状态 说明稍微高一点并发时,记 ...
分类:
其他好文 时间:
2016-07-22 21:13:12
阅读次数:
212
1. C++内置的异常处理:try-catch (1)try语句处理正常代码逻辑 (2)catch语句处理异常情况 (3)try语句中的异常由对应的catch语句处理,如果对应的catch中没有处理该异常,会自动继续沿函数调用栈向上被抛出。 2. C++通过throw语句抛出异常情况 3. C++异 ...
分类:
编程语言 时间:
2016-07-06 21:49:48
阅读次数:
184
以前, 我曾经介绍过如何通过PHP的Core文件获取信息:如何调试PHP的Core之获取基本信息, 对于调用参数这块, 当时介绍的获取方法比较复杂. 于是今天我为PHP 5.4的.gdbinit做了一个改进, 以后如果你遇到了PHP 5.4的core, 那么就可以简单的得到PHP 5.4发生Core ...
分类:
Web程序 时间:
2016-07-06 17:48:18
阅读次数:
135
1.Activity生命周期理解生命周期就是两张图:第一张图是回字型的生命周期图第二张图是金字塔型的生命周期图 注意点(1)从stopped状态重新回到前台状态的时候会先调用onRestart方法,然后再调用后续的onStart等方法;(2)启动另一个Activity然后finish,先调用旧Act ...
分类:
其他好文 时间:
2016-07-03 11:48:25
阅读次数:
212
先编译好要调试的程序。 1.设置断点 选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可。 2.开启调试会话 点击红色箭头指向的小虫子,开始进入调试。 IDE下方出现Debug视图,红色的箭头指向的是现在调试程序停留的代码行,方法f2()中,程序的第11行。红色箭头悬停的区域是程序的方法调用栈 ...
分类:
其他好文 时间:
2016-06-28 12:44:34
阅读次数:
151
1.所有的方法调用都维护在一个称为调用栈的结构中,当前正在执行的方法位于调用栈的顶部。当前方法执行完成后,就从调用栈的顶部移除,控制流程返回栈中的前一个方法。 2.main()方法总是在调用栈的底部。 3.如果一个Java程序是多线程应用程序,那么它可以有多个调用栈。 4.一个方法正在执行时,会发生 ...
分类:
其他好文 时间:
2016-06-20 00:49:14
阅读次数:
138