
调试
bravegogo
知行合一,积学养气
展开
-
dSYM 文件分析工具
dSYM 文件分析工具原文:http://www.cocoachina.com/ios/20141219/10694.html来到新公司后,前段时间就一直在忙,前不久 项目 终于成功发布上线了,最近就在给项目做优化,并排除一些线上软件的 bug,因为项目中使用了友盟统计,所以在友盟给出的错误信息统计中能比较方便的找出客户端异常的信息,可是很多像数组越界却只给出了 *** -转载 2016-04-26 19:11:27 · 469 阅读 · 0 评论 -
使用 Charles 监控 ios真机网络包
1 Mac 上 配置hosts 123.5.29.201 56.test.com 备注:具体项目,需要具体配置2 真机调试 Charles 的使用 由于 iPhone 不能配置 hosts 所以需要 依赖 mac 上的hosts 配置 具体步骤如下: 步骤 1:真机调试时 ,需要监控网络协议 ,所以需要在 真机上设置代理,将代理设置原创 2016-09-27 12:15:29 · 1338 阅读 · 0 评论 -
Charles 之SSL 更新篇
http://ntx.me/2015/07/20/CharlesSSL2/转载 2016-09-29 10:34:50 · 1082 阅读 · 0 评论 -
ios 安装包瘦身之 编译选项优化
优化编译选项1、BuildSettings->Optimization Level,Xcode默认设置为“Fastest ,Smallest”,保持默认即可。2、Build Settings-> Linking->Dead Code Stripping 设置成 YES3、Deployment Postprocessing 设置成YES4、Strip Linked Product 设原创 2016-09-29 10:40:00 · 3213 阅读 · 1 评论 -
代码运行效率统计方法 dispatch_benchmark
转载:http://nshipster.cn/benchmarking/ 对于完成有意义的工作来说抽象很重要,但却会带来副作用。为了工作起来更顺手我们需要洞察一些细枝末节来确定一些批量处理的具体逻辑。找到一个特定上下文的有用信息是非常重要的,是具有挑战性的,是高效编程的核心。利用benchmarking,工程师可以揭开他们代码中运行效率的面纱,然后利用获得的信息来优化。转载 2016-09-29 11:40:52 · 829 阅读 · 0 评论 -
iOS高效调试
原文:http://www.jianshu.com/p/a4ae30a10fb8 原文:http://lldb.llvm.org/tutorial.html转载 2016-10-25 20:54:50 · 239 阅读 · 0 评论 -
LinkMap分析
原文: https://sanwen8.cn/p/5942YDZ.html近来我们一直在做 ipa 包大小的缩减,在删除了无用图片,缩减项目中图片的体积,取得了较大的效果。但是成果背后的问题也接踵而至,删除完了图片,压缩完了图片大小之后,我们应该怎么来减少 ipa包大小呢?从哪里去减小、减小什么、怎么减小呢?带着这样的问题,我们先来了解一下 ipa转载 2017-04-23 17:47:21 · 6809 阅读 · 0 评论 -
printStackTrace
- (void)printStackTrace:(NSException *)e//要写入log文件的信息{ NSString *stack = [[e userInfo] objectForKey:NSStackTraceKey]; NSMutableArray *args = [NSMutableArray arrayWithCapacity:20]; if (sta转载 2016-06-01 16:04:10 · 671 阅读 · 0 评论 -
获取任意线程调用栈的那些事
原文: https://bestswifter.com/callstack/BSBacktraceLogger 是一个轻量级的框架,可以获取任意线程的调用栈,开源在我的 GitHub,建议下载下来结合本文阅读。我们知道 NSThread 有一个类方法 callstackSymbols 可以获取调用栈,但是它输出的是当前线程的调用栈。在利用 Runloop 检测卡顿时,子线程检测转载 2017-08-31 10:42:14 · 990 阅读 · 0 评论 -
pod 自动添加代码 到 .pch 文件中
代码如下 这是 添加 DDLog 的事例 代码s.prefix_header_contents = <<-EOS#ifndef DDLogLumberjack#define DDLogLumberjack#import #ifdef DEBUGstatic const DDLogLevel ddLogLevel = DDLogLevelVe原创 2016-09-27 12:11:09 · 2062 阅读 · 0 评论 -
CocoaLumberjack 之坑
在使用pod 进行组件化的过程中 ,如果需要 将使用 CocoaLumberjack 的独立子工程 用pod 加到 其他工程中 时 一定别忘记 在 相应的 .pch 中 ,加以下代码:#import #import #import #ifdef DEBUGstaticconst int ddLogLevel =LOG_LEVEL_VERBOS原创 2016-09-23 19:28:11 · 1187 阅读 · 0 评论 -
iOS Crash文件的解析(一)
iOS Crash文件的解析(一) yuanwen: http://www.cnblogs.com/smileEvday/p/Crash1.html 开发程序的过程中不管我们已经如何小心,总是会在不经意间遇到程序闪退。脑补一下当你在一群人面前自信的拿着你的App做功能预演的时候,流畅的操作被无情地Crash打断。联想起老罗在发布Smartisan OS的时候说了,他准备了10个手转载 2016-04-26 19:31:07 · 317 阅读 · 0 评论 -
iOS dSYM文件结构剖析(上)
摘要:在iOS App开发过程中,开发者会利用Xcode打包生成.xcarchive的包文件,并通过Organizer工具可以管理、导出发布文件。本文作者从本文开始,详细剖析了打包之后的dSYM文件的结构。优快云移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用、开发工具、移动游戏及引擎、智能硬件、物联网等方方面面。如果您想投稿、参与内容翻译工转载 2016-04-26 19:33:31 · 767 阅读 · 0 评论 -
小笨狼与LLDB的故事
你是否曾经苦恼于理解你的代码,而去尝试打印一个变量的值?NSLog(@"%@", whatIsInsideThisThing);或者跳过一个函数调用来简化程序的行为?NSNumber *n = @7; // 实际应该调用这个函数:Foo();或者短路一个逻辑检查?if (1 || theBooleanAtStake) { ... }或者伪造一个函数实现?转载 2016-04-26 20:26:34 · 428 阅读 · 0 评论 -
利用dwarfdump命令和dsym文件链接binary image,查看crash log中
利用dwarfdump命令和dsym文件链接binary image,查看crash log中... 首先需要打包的dsym文件,然后在终端中输入命令: ?1$ dwarfdump --lookup=ADDRESS --arch=ARCH {MyApp.app.dsym}转载 2016-04-27 19:13:33 · 942 阅读 · 0 评论 -
iOS瘦身之删除FrameWork中无用mach-O文件
iOS瘦身之删除FrameWork中无用mach-O文件原文 http://www.infoq.com/cn/articles/ios-thinning-delete-unnecessary-mach-o最近项目末期, 我们团队为了ipa的大小使用不少的体积减小的方法, 除了一些常规的方法之外, 我分享一下自己研究出来的新思路。首先我们来简单的介绍一下ma转载 2016-04-30 23:04:46 · 2945 阅读 · 0 评论 -
利用.dSYM和.app文件准确定位Crash位置
首先,确保在release(Ad Hoc或者App Store)一个版本时,保存了对应的xxx.app和xxx.dSYM文件。其次,验证xxx.crash、xxx.app和xxx.dSYM三者的uuid是否一致。验证方法:1)查看xxx.app的uuid。$ dwarfdump --uuid mobileguard.app/mobileguard转载 2016-06-01 15:35:28 · 327 阅读 · 0 评论 -
iOS IO 重定向(NSLog to UITextView)
情形描述: 在调试程序的时候,通过NSLog打印log,很方便的就可以在Xcode里面看到。但是程序一旦“离开XCode运行”, 比如将App交付给了公司的测试团队,怎样能够很随意看到NSLog打印的信息呢?通常在离开xcode之后,NSLog的信息会保存在Systemlog里面(这里有NSLog详细描述),你可以通过一定办法取出这个log。甚至可以写一套日志系统,然后将这些信息保存到日志转载 2016-06-01 16:01:57 · 768 阅读 · 0 评论 -
hosts 文件位置 /private/etc
修改 hosts 文件 在 /private/etc 中。原创 2016-08-19 18:58:46 · 1800 阅读 · 0 评论 -
BSBacktraceLogger 堆栈抓取
原理:用线程 抓取堆栈信息https://github.com/bestswifter/BSBacktraceLogger转载 2016-09-07 12:20:08 · 1711 阅读 · 0 评论 -
Xcode里调试 自定义 signal的信号 回调函数的执行
signal信号: signal是一种软中断信号,提供异步事件处理机制。signal是进程间相互传递信息的一种粗糙方法,使用场景: 进程终止相关;终端交互; 编程错误或硬件错误相关,系统遇到不可恢复的错误时触发崩溃机制让程序退出,比如:除0、内存写入错误等。 这里我们主要考虑系统遇到不可恢复的错误时即Crash时,信号相关的应用。signal信号处理是UNIX操...原创 2018-07-23 15:31:48 · 1131 阅读 · 0 评论