Windows

Windows 核心编程 _ 内核对象一

Windows 核心编程 _ 内核对象一

bingliaolong 4年前 6 0

内核对象 系统会创建和处理的几种内核对象 访问令牌对象(access token) 事件对象 文件对象 文件映射对象 I/O完成端口对象 作业对象 邮件槽对象(mailslot) 互斥量对象 管道对象 进程对象 信号量对象 线程对象 可等待的计时器对象 线程池工厂对象 每个内核对...

Dump分析:堆内存泄露

Dump分析:堆内存泄露

bingliaolong 11个月前 7 0

示例dump分析:堆内存泄露 代码 分析步骤一 在程序启动时,先用下面命令查看堆的情况 !heap -s !heap -stat -h 1cb0000 分析步骤二 g 让程序跑一会儿 !heap -s 对比发现Commit多了128h !heap -stat -h 1cb0000...

Windows 核心编程 _ 线程调度

Windows 核心编程 _ 线程调度

bingliaolong 4年前 1 0

线程调度概述 每个线程都有一个上下文,这个上下文保存在内核对象中。它反应了线程上一次执行时CPU寄存器的状态。 大概每个20ms(GetSystemTimeAdjustment函数的第二个参数的返回值),Windows都会查看所有当前存在的线程内核对象。 这些对象中,只有一些被认...

线程和协程

线程和协程

bingliaolong 1年前 11 0

超线程技术 概述 现代CPU通常确实在物理核心的基础上引入逻辑核心,例如通过超线程(Hyper-Threading)技术,一个物理核心能够处理两个线程 使得操作系统和应用程序认为该CPU拥有的核心数量翻倍 不过,CPU的逻辑核心和线程的概念在软件开发中存在一些区别 逻辑核心更偏向...

breakpad记述:Windows下静态库的编译使用

breakpad记述:Windows下静态库的编译使用

bingliaolong 11个月前 28 0

拉代码 开启VPN 用cmd设置 在某个位置创建文件夹 第一次拉代码用fetch breakpad 这是默认depot_tools已经下好了,并且环境变量也设置好了 遇到问题如下: 通过切分支解决 比如chrome_99 这个时候是第二次执行代码了,要用gclient sync ...

Windows 核心编程 _ 内核对象:线程同步三

Windows 核心编程 _ 内核对象:线程同步三

bingliaolong 4年前 6 0

遗弃问题 互斥量概述 互斥量与所有其他内核对象有所不同,这是因为它们具有“线程所有权”的概念。 换句话说,互斥量会记住自己是哪个线程等待成功的。 互斥量的这种特殊性,使得它即使在未触发的状态下,也能为线程所获得。 什么是遗弃问题 当线程调用ReleaseMutex的时候,函数会检...

Windows动态库(DLL)详细学习:一

Windows动态库(DLL)详细学习:一

bingliaolong 9个月前 12 0

概述 DllMain 是 Windows 动态链接库(DLL)的入口函数,类似于可执行程序的 main 函数 它在以下四种情况下会被系统自动调用: DLL 被加载到进程内存 DLL 被卸载 进程创建新线程 线程退出 参数 保留参数 lpReserved: DLL_PROCESS_...

Spy++相关

Spy++相关 4

bingliaolong 1年前 11 0

spy++相关 使用 打开spy++ 查找窗口 把小圆圈拖动到目标窗口上,比如按钮等等 并且在下面选择消息 在消息窗口查看日志 具体信息看下发示例 示例行为 使用spy++监听了某个窗口上的一个Button的消息 然后移动鼠标到Button上 然后用鼠标左键点击该Button 日...

Windows 核心编程 _ 线程内幕

Windows 核心编程 _ 线程内幕

bingliaolong 4年前 12 0

概述 对CreateThread函数的调用,导致系统创建了一个线程内核对象。 该内核对象最初的使用计数为2,除非线程终止,而且从CreateThread返回的句柄被关闭,否则线程内核对象不会被销毁。 该线程内核对象的其他属性也被初始化: 暂停计数被设为1 退出代码被设为STILL...

Windows机制:文件系统、磁盘、磁盘碎片相关

Windows机制:文件系统、磁盘、磁盘碎片相关

bingliaolong 8个月前 11 0

磁盘碎片 概述 文件在物理磁盘上被分割存储在非连续扇区,导致读写磁头需要频繁移动 碎片类型 内部碎片(Internal Fragmentation) 成因:文件系统固定簇大小(如NTFS默认4KB) 空间浪费:小文件占用整个簇 量化公式: 浪费率 = (簇大小 - 文件大小 % ...

扫一扫二维码分享