Linux学习:pass
pass 概述 一个 Pass 就是对 IR 做一次完整的遍历和处理 每个 Pass 专注于做一件事——分析代码的某个属性,或者对代码做某一种变换 每个 Pass 读取当前的 LLVM IR,做一种特定的处理,输出修改后的 IR 下一个 Pass 在上一个 Pass 的输出基础上...
pass 概述 一个 Pass 就是对 IR 做一次完整的遍历和处理 每个 Pass 专注于做一件事——分析代码的某个属性,或者对代码做某一种变换 每个 Pass 读取当前的 LLVM IR,做一种特定的处理,输出修改后的 IR 下一个 Pass 在上一个 Pass 的输出基础上...
地址空间 32位系统,CPU可直接寻址4GB空间,这也是每个进程的地址空间大小。 其中,高2GB供内核模块使用,称为内核空间。 低2GB供用户态模块使用,称为用户空间。 使用/3GB开关,可以将用户空间增大到3GB。 Windows内容load到内核空间高地址,主程序load到用...
!analyze -v FAULTING_IP 显示发生故障时的指令指针 EXCEPTION_RECORD 显示此崩溃的异常记录 也可以通过.exr查看 BUGCHECK_STR 该名称是错误的名称,错误检查一词实际上表示内核模式崩溃 在用户模式调试中,将显示异常代码 DEFAU...
登录用户 获取登录用户名 uuid 需要获取硬件UUID,用这个UUID拼出目标文件名。具体: 获取 通过IOKit库查询“IOPlatformExpertDevice”服务,并从中读取“IOPlatformUUID”属性,获取的就是硬件的UUID 这个UUID是针对Mac计算机...
文件的创建,打开与关闭 linux中对目录和设备的操作都是文件操作,文件分为普通文件,目录文件,链接文件和设备文件。 fopen以mode的方式打开或创建文件,如果成功,将返回一个文件指针,失败则返回NULL fopen创建的文件的访问权限将以0666与当前的umask结合来确定...
概述 网络程序需要处理的第三类事件是定时器事件,比如定期检测一个客户连接的活动状态。 服务器程序通常管理着众多定时事件,因此有效地组织这些定时事件,使之能在预期的时间点被触发且不影响服务器的主要逻辑,对于服务器的性能有着至关重要的影响。 为此,需要将每个定时事件分别封装成定时器,...
概述 对CreateThread函数的调用,导致系统创建了一个线程内核对象。 该内核对象最初的使用计数为2,除非线程终止,而且从CreateThread返回的句柄被关闭,否则线程内核对象不会被销毁。 该线程内核对象的其他属性也被初始化: 暂停计数被设为1 退出代码被设为STILL...
spy++相关 使用 打开spy++ 查找窗口 把小圆圈拖动到目标窗口上,比如按钮等等 并且在下面选择消息 在消息窗口查看日志 具体信息看下发示例 示例行为 使用spy++监听了某个窗口上的一个Button的消息 然后移动鼠标到Button上 然后用鼠标左键点击该Button 日...
lm lmv 概述 是 lm命令的详细模式,用于显示所有已加载模块的完整信息,包括: 模块基地址(Start/End):模块在内存中的起始和结束地址 模块路径(Image path):文件在磁盘中的完整路径 符号状态(Symbols):如 Loaded(符号已加载)、Deferr...
build.gradle 不同于Eclipse,Android Studio是通过Gradle来构建项目奖的 Gradle是一个非常先进的项目构建工具,它使用了一种基于Groovy的领域特定语言来声明项目设置,摒弃了传统基于XML的各种繁琐配置 两个build.gradle 外层...
搜索当前分类