随笔分类 -  调试

摘要:lldb的问题属于调试器: 下面命令用于在调试时设值 e self.apiModel.apiParams = [NSDictionary dictionaryWithObjectsAndKeys:@"一切", @"content", nil] @weakify(self) 属于便捷语法 #defin 阅读全文
posted @ 2017-12-14 11:14 zzfx 阅读(197) 评论(0) 推荐(0) 编辑
摘要:所有崩溃都有cpu执行指令引起。主要包含两种:1)指令非法;2)访问非法。 访问非法又包含两种:(1)访问不存在;2)访问越界;3()访问受限。 指令非法:cpu不支持的指令。 An illegal opcode, also called an undocumented instruction, i 阅读全文
posted @ 2017-12-07 16:59 zzfx 阅读(255) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/gaoyp/article/details/46912753 一、错误报告中的三种地址:stack addressload addresssymbol address1)stack address同意词:runtime address从操作系统的堆栈0点算起 阅读全文
posted @ 2017-12-05 18:10 zzfx 阅读(431) 评论(0) 推荐(0) 编辑
摘要:ASLR: Address space layout randomization:地址空间布局随机化,是参与保护缓冲区溢出问题的一个计算机安全技术。是为了防止攻击者在内存中能够可靠地对跳转到特定利用函数。ASLR包括随机排列程序的关键数据区域的位置,包括可执行的部分、堆、栈及共享库的位置。历史:在1 阅读全文
posted @ 2017-12-05 16:57 zzfx 阅读(2921) 评论(0) 推荐(0) 编辑
摘要:1、程序存储器(program storage)在计算机的主存储器中专门用来存放程序、子程序的一个区域。2、指令寄存器(IR ):用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据寄存器(DR)中,然后再传送至IR。指令划分为操作码和地址码字段,由二进制数字组成。为了执行任何给定 阅读全文
posted @ 2017-12-05 16:01 zzfx 阅读(6621) 评论(0) 推荐(1) 编辑
摘要:Symbols have always presented a conundrum for developers: You want to remove all symbols from your program because this makes the code smaller, and po 阅读全文
posted @ 2017-12-05 11:36 zzfx 阅读(172) 评论(0) 推荐(0) 编辑
摘要:http://my.oschina.net/chenliang165/blog/125825. 最近同事的程序设计过程中用到了Linux的signal机制,从而引发了我对Linux中signal机制的思考。Signal机制在Linux中是一个非常常用的进程间通信机制,很多人在使用的时候不会考虑该机制 阅读全文
posted @ 2017-12-04 18:32 zzfx 阅读(1735) 评论(0) 推荐(0) 编辑
摘要:调试器工作原理(3):调试信息 本文是调试器工作原理探究系列的第三篇,在阅读前请先确保已经读过本系列的第一和第二篇。 本篇主要内容 在本文中我将向大家解释关于调试器是如何在机器码中寻找C函数以及变量的,以及调试器使用了何种数据能够在C源代码的行号和机器码中来回映射。 调试信息 现代的编译器在转换高级 阅读全文
posted @ 2017-12-04 11:58 zzfx 阅读(2287) 评论(0) 推荐(0) 编辑
摘要:1)操作非法、操作受限; 2)数据非法、数据不支持; 3)操作的上下文环境被破坏。 阅读全文
posted @ 2017-11-24 17:41 zzfx 阅读(966) 评论(0) 推荐(0) 编辑
摘要:应用崩溃时,崩溃线程一定有重要线索保留。正如谋杀现场,当事人和被害者已经交互细节需要保留一样。 应用崩溃现场需要保存和还原的信息分为三个方面: 1)硬件环境:主要是cpu位数和其他信息; 2)进程信息:主要是进程标示符号; 3)线程信息,也就是线程执行是的上下文环境。比较主要的指标是(1)函数调用栈 阅读全文
posted @ 2017-11-24 17:27 zzfx 阅读(196) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/u012349696/article/details/50687462 编号为1 ~ 31的信号为传统UNIX支持的信号,是不可靠信号(非实时的),编号为32 ~ 63的信号是后来扩充的,称做可靠信号(实时信号)。不可靠信号和可靠信号的区别在于前者不支持排队 阅读全文
posted @ 2017-08-08 10:41 zzfx 阅读(284) 评论(0) 推荐(0) 编辑
摘要:step into:单步执行,遇到子函数就进入并且继续单步执行(简而言之,进入子函数); step over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。有一点,经过我们简单的调试,在不存在子函数的情况下是和step into 阅读全文
posted @ 2016-10-08 11:33 zzfx 阅读(8564) 评论(0) 推荐(4) 编辑