02 2021 档案
摘要:系统先读取App的可执行文件(Mach-O文件),从里面获得dyld的路径,然后加载dyld,dyld去初始化运行环境,开启缓存策略,加载程序相关依赖库(其中也包含我们的可执行文件),并对这些库进行链接,最后调用每个依赖库的初始化方法,在这一步,runtime被初始化。当所有依赖库的初始化后,轮到最
阅读全文
摘要:https://xiaozhuanlan.com/topic/9273604158 先来张渲染的流程图: 这张图其实有很多误导,我的更改如下: 可以看到整个流程是一个pipeline(一次pipeline要跨越三帧)形式的,下面对每个步骤都做一个解释: 1.Handle Events: 处理事件,比
阅读全文
摘要:通信的本质是报文的定义与解释机制 协议:信息的表达与解释
阅读全文
摘要:The breakpoint exception type indicates a trace trap interrupted the process. A trace trap gives an attached debugger the chance to interrupt the proc
阅读全文
摘要:iOS开发者常见的 UNIX 信号 如下: UNIX 信号注释 SIGSEGV 访问无效的内存地址。地址存在,但是应用程序无法访问。 SIGABRT 程序崩溃。由 C函数 abort() 初始化。通常意味着系统检测到某些事务出错,例如 assert() 或者 NSAssert() 校验失败。 SIG
阅读全文
摘要:该信号表示总线错误,通常与SIGSEGV混合。虽然类似(都代表尝试访问无效内存),但当地址不存在或更常见的无效对齐时,会发生SIGBUS 。换句话说,物理地址无效(这与逻辑地址无效的SIGSEGV不同)。 找不到: In computing, a bus error is a fault raise
阅读全文
摘要:1) SIGBUS(Bus error)意味着指针所对应的地址是有效地址,但总线不能正常使用该指针。通常是未对齐的数据访问所致。2) SIGSEGV(Segment fault)意味着指针所对应的地址是无效地址,没有物理内存对应该地址。 非法映射 vs 非法获取、无定义(映射) 总线错误 对一个错误
阅读全文
摘要:《2》 int 3 INT 3 是中断指令的一种特殊形式,仅有一个字节长。 调试器将该指令当作软件中断指令来用。调试的时候,当程序中的某一位置加断点的时候,调试器会把断点处指令编码的第一个字节替换为INT 3指令的编码。 当程序执行到INT 3,回向调试器申请系统调用,调试器因此获得CPU控制权。之
阅读全文
积分与排名
- 积分 - 2702647
- 排名 - 50
随笔分类 (2699)
- A.习惯(6)
- android(26)
- android OS(1)
- AOP面向切面编程(10)
- app部署(7)
- a协议标准规范-没想好名字(1)
- browser&Webkit(13)
- c++(24)
- CAlayer与动画(16)
- Dart(2)
- data language(1)
- DSL(1)
- Flutter实战(1)
- GCD(6)
- github(5)
- GUI(14)
- hook(6)
- HTML(1)
- HTTP(5)
- IO:一切皆文件(14)
- iOS(70)
- iOS.OS(1)
- iOS-UI(29)
- iOS调试--Xcode(2)
- iOS开源库(3)
- iOS逆向工程(6)
- java(25)
- java framework(5)
- Javascript(22)
- JavaScriptCore(6)
- java服务器开发(2)
- JVM(6)
- MAC(1)
- Node.js(2)
- npm(5)
- oc(99)
- oc运行时(8)
- oop(26)
- OpenGL(1)
- React.js(25)
- ReactiveCocoa(11)
- ReactiveX(6)
- reactNative(14)
- realm(1)
- redux(15)
- RxSwift(26)
- scala(10)
- SHELL(1)
- spring(25)
- SQLite(25)
- swift(159)
- TCP/IP(5)
- tomcat(7)
- UI布局(1)
- UI及模式(14)
- UI系统(5)
- UI与交互(2)
- UML(2)
- view.android(2)
- vscode(1)
- vue(2)
- X计划(1)
- 比特币(10)
- 比特币钱包(1)
- 编程范式(15)
- 编程基础(79)
- 编程思想(56)
- 编程特殊概念(1)
- 编程语言(118)
- 编程语言评价(7)
- 编解码(1)
- 编译器(41)
- 并发编程(13)
- 并发控制(5)
- 操作系统(47)
- 程序的数学基础(2)
- 抽象(1)
- 抽象(软件开发)(7)
- 抽象类型(14)
- 创业规划(1)
- 代码阅读(9)
- 待解决问题(9)
- 道德经(道与术)(2)
- 调试(12)
- 定位理论(3)
- 读书(6)
- 读书理论(7)
- 对象内存模型(10)
- 多态(20)
- 多线程(84)
- 泛型编程(38)
- 方法论(13)
- 服务器开发(10)
- 复杂性(11)
- 工程配置(3)
- 工程学(2)
- 工具论(3)
- 构造定律(4)
- 管理学(1)
- 函数式编程(141)
- 函数式编程理论(18)
- 函数与方法function&method(16)
- 还原论(1)
- 环境变量(4)
- 缓存技术(4)
- 混合编程(11)
- 计算机体系结构(11)
- 计算机图形学CG(5)
- 计算机硬件(7)
- 技术栈(1)
- 价值论与价值判断(5)
- 交互式(前端)架构(4)
- 脚本语言(6)
- 结构化编程(5)
- 解释器(2)
- 进程间通信(8)
- 经典网站(1)
- 决策论(1)
- 开发模式(15)
- 开发平台(2)
- 开发日志(2)
- 控制论(2)
- 跨平台(1)
- 类型系统(80)
- 理性(2)
- 链接器(12)
- 链接与集成(1)
- 逻辑学(21)
- 密码学(32)
- 面向接口编程(9)
- 内存管理(12)
- 能力模型(2)
- 前端开发(5)
- 前端框架(9)
- 嵌入式(1)
- 人的思想(1)
- 人工智能AI(1)
- 人际关系处理(1)
- 人物评价(1)
- 人性(2)
- 认识论(5)
- 软件安全(18)
- 软件复用(5)
- 软件复杂性(4)
- 软件工程(15)
- 软件架构(72)
- 软件建模(26)
- 软件开发概念(4)
- 软件设计(5)
- 软件性能(1)
- 软件质量(4)
- 商业模式(1)
- 上下文.系统论(2)
- 设计模式(15)
- 生活日常(2)
- 声明式编程(14)
- 实践论(2)
- 世界观(6)
- 数据处理(11)
- 数据结构(20)
- 数据库(48)
- 数据库管理(1)
- 数据库技术(34)
- 数据库模型(7)
- 数据模型映射(5)
- 数据与操作(4)
- 数理逻辑(1)
- 数学(6)
- 思:独立思考(2)
- 思:结构化思维(1)
- 思:逻辑思维(5)
- 思:一点思考(22)
- 思考方式(8)
- 思维模型(2)
- 思想之花(2)
- 算法(24)
- 通信那点事(20)
- 投资理财(3)
- 网络编程(50)
- 网络缓存(9)
- 网络理论(86)
- 问题理论(6)
- 系统构建(5)
- 系统论(11)
- 响应式编程(31)
- 项目管理(1)
- 小程序(3)
- 心理学(4)
- 新模式(3)
- 虚拟存储器(5)
- 虚拟文件系统(4)
- 需求文档(1)
- 学会说话(2)
- 学习理论(13)
- 养生(3)
- 移动端&前端理论(1)
- 移动端通用(2)
- 异步编程(36)
- 异常编程(19)
- 语言与意识(7)
- 更多
随笔档案 (2025)
- 2025年3月(1)
- 2025年2月(3)
- 2025年1月(7)
- 2024年11月(1)
- 2024年10月(2)
- 2024年8月(1)
- 2023年9月(1)
- 2023年8月(2)
- 2023年7月(1)
- 2023年5月(5)
- 2023年4月(1)
- 2023年3月(8)
- 2023年2月(4)
- 2023年1月(2)
- 2022年10月(3)
- 2022年7月(1)
- 2022年6月(6)
- 2022年5月(18)
- 2022年4月(9)
- 2022年3月(7)
- 2022年2月(1)
- 2022年1月(1)
- 2021年11月(4)
- 2021年10月(7)
- 2021年9月(4)
- 2021年8月(11)
- 2021年7月(7)
- 2021年6月(7)
- 2021年5月(2)
- 2021年4月(6)
- 2021年3月(7)
- 2021年2月(8)
- 2021年1月(2)
- 2020年11月(1)
- 2020年10月(8)
- 2020年8月(1)
- 2020年7月(3)
- 2020年6月(2)
- 2020年5月(3)
- 2020年4月(9)
- 2020年3月(36)
- 2020年2月(21)
- 2020年1月(35)
- 2019年12月(39)
- 2019年11月(33)
- 2019年10月(55)
- 2019年9月(17)
- 2019年8月(38)
- 2019年7月(71)
- 2019年6月(74)
- 2019年5月(52)
- 2019年4月(64)
- 2019年3月(110)
- 2019年2月(34)
- 2019年1月(73)
- 2018年12月(37)
- 2018年11月(73)
- 2018年10月(34)
- 2018年9月(53)
- 2018年8月(26)
- 2018年7月(21)
- 2018年6月(90)
- 2018年5月(40)
- 2018年4月(41)
- 2018年3月(62)
- 2018年2月(29)
- 2018年1月(125)
- 2017年12月(81)
- 2017年11月(21)
- 2017年10月(13)
- 2017年9月(44)
- 2017年8月(48)
- 2017年7月(49)
- 2017年6月(33)
- 2017年5月(58)
- 2017年4月(28)
- 2017年3月(15)
- 2017年2月(24)
- 2017年1月(1)
- 2016年12月(3)
- 2016年11月(6)
- 2016年10月(9)
- 2016年9月(1)
- 2016年8月(9)
- 2016年7月(5)
- 2016年6月(17)
- 更多
最新评论
- 1. Re:DSL的概念
general 通用
specific 定制- --zhy_cs
- 2. Re:历史事件与历史人物
起点有本书,叫《大唐挽歌》
- --丁维
- 3. Re:TCP报文到达确认(ACK)机制
描述的太好了,比书上那些不知所云的定义强多了
- --丁维
- 4. Re:进程间通信 (OSX/iOS)
你好 想问下 文中说 或者在崩溃的时候重启,或者是空闲的时候终止
请问怎么实现重启
- --wangsd300624
- 5. Re:虚拟内存映射 段分割 vm_area_struct
按照博主的意思是一个段一个vma与之对应?
- --czwOra