
Windbg:命令实践详解二 3
调试堆内存 启用用户堆栈跟踪(User Stack Trace) 方法一 通过 gflags.exe 为目标进程添加堆栈跟踪标志: gflags.exe /i YourProgram.exe +ust 方法二: 打开...
调试堆内存 启用用户堆栈跟踪(User Stack Trace) 方法一 通过 gflags.exe 为目标进程添加堆栈跟踪标志: gflags.exe /i YourProgram.exe +ust 方法二: 打开...
用户模式同步 Interlocked 系列函数 原理 通过 CPU 原子指令(如 LOCK XCHG)直接操作内存,无需进入内核态 场景 简单计数器(如引用计数) 无锁数据结构(如无锁队列) 特点 性能极高(无内核切...
示例dump分析:空指针访问二 代码 int main() { init_breakpad(); int* p = nullptr; *p = 42; std::cout << "Hello W...
内核对象 系统会创建和处理的几种内核对象 访问令牌对象(access token) 事件对象 文件对象 文件映射对象 I/O完成端口对象 作业对象 邮件槽对象(mailslot) 互斥量对象 管道对象 进程对象 信号...
概述 Windows 的组件对象模型(Component Object Model,COM)是一种用于构建可重用软件组件的标准和技术 它允许软件组件以二进制形式进行互操作,独立于编程语言、开发工具和平台 COM 技术...
创建线程 概述 每个进程至少都有一个线程。 线程的组成 线程的内核对象,操作系统用它管理线程。 系统还用内核对象来存放线程统计信息的地方。 线程栈,用于维护线程执行时所需的所有函数参数和局部变量。 进程从来不会执行任...
ETW(Event Tracing for Windows) 概述 ETW是Windows提供的高性能内核级事件追踪机制,能够以极低开销(通常<5% CPU)实时捕获系统和应用程序事件 ETW架构核心组件 事件...
简述 在Windows中,DLL(动态链接库)可以请求操作系统卸载自己,但这样做是有风险的 要确保在DLL被卸载后不再访问任何DLL内部的资源或函数 FreeLibrary 如果在test.dll的某个函数里面,获取...
ATL下载 ATL 作为微软官方库,源码随 Visual Studio 安装包 默认集成 C:\Program Files (x86)\Microsoft Visual Studio\2019\Professiona...
网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetC...