Windows线程同步相关
用户模式同步 Interlocked 系列函数 原理 通过 CPU 原子指令(如 LOCK XCHG)直接操作内存,无需进入内核态 场景 简单计数器(如引用计数) 无锁数据结构(如无锁队列) 特点 性能极高(无内核切换) 仅支持单个变量的原子操作,无法实现复杂同步 临界区(Cri...
用户模式同步 Interlocked 系列函数 原理 通过 CPU 原子指令(如 LOCK XCHG)直接操作内存,无需进入内核态 场景 简单计数器(如引用计数) 无锁数据结构(如无锁队列) 特点 性能极高(无内核切换) 仅支持单个变量的原子操作,无法实现复杂同步 临界区(Cri...
概述 注入方法 CreateRemoteThread + LoadLibraryA/W (最经典) SetWindowsHookEx (钩子注入) QueueUserAPC + LoadLibraryA (APC 注入) 注册表/配置文件 + AppInit_DLLs (系统级)...
调试实践 关于调试实践。 内存破坏 栈内存 在Windows中,栈只是操作系统为线程分配的一块内存。 作用是记录函数调用链(局部变量的分配、参数传递)。 每当调用函数时,都会创建一个栈帧并且把它压入到栈中。 随着线程中调用的函数越来越多,栈也会变得越来越大。 函数结构 函数前导指...
终端服务命名空间 在正在允许终端服务的计算机中,有多个用于内核对象的命名空间。 其中一个是全局命名空间,所有客户端都能访问到的内核对象要放在这个命名空间里面。这个命名空间主要由服务使用。 此外,每个客户端会话都有一个自己的命名空间。 可以通过ProcessIdToSessionI...
vtop 概述 !vtop(Virtual Address to Physical Address)是 WinDbg 的内置扩展命令,用于将虚拟地址转换为物理地址,同时展示页表(Page Table)和页目录(Page Directory)的转换过程 作用 解析虚拟地址对应的物理...
概述 ATL ATL 本来是为了写 COM 组件(ActiveX、OLE)而生的,顺带提供了最基础的窗口能力 WTL WTL 是微软的一个团队后来单独发布的头文件库,专门填充 ATL 在 UI 方向的空白 关系 wtl是工具箱,不是框架 ATL 概述 下面这些文件,WTL 依赖这...
WTL下载 WTL WTL 基础概念 定位与优势 基于 ATL 的扩展库,专注于高效 Win32 GUI 开发,无 MFC 的臃肿 优势 模板驱动:零成本抽象,代码体积小 兼容 Win32 API:直接操作窗口句柄,灵活性高。 现代 C++ 风格:支持 RAII、模板元编程 WT...
!analyze -v 概述 用于 自动分析当前异常或崩溃的根本原因,并输出详细的诊断信息 它是调试程序崩溃、蓝屏(BSOD)或未处理异常的首选工具 功能 分析当前异常类型(如访问违规、除零错误等),定位触发异常的代码位置 提供异常上下文、调用栈、寄存器状态、可能原因及建议操作 ...
通用 配置符号路径 目的 让WinDbg能够将内存地址翻译成可读的函数名,否则调用栈全是地址,无法分析 命令 识别 Dump 类型和架构 目的 确定是什么类型的dump(full dump? mini dump?) 32位还是64位程序 操作系统版本 是否是WOW64(64位系统...
关键段 概述 critical section是一小段代码,它在执行之前需要独占对一些共享资源的访问权。 这种方式可以让多行代码以“原子方式”来对资源进行操控。 这里的原子方式,是指除了当前线程之外,没有其他任何线程会同时访问该资源。 当然,系统仍然可以暂停当前线程去调度其他线程...
搜索当前标签