Dump分析:重复释放堆内存,死锁
示例dump分析:重复释放同一堆内存 代码 分析步骤 用windbg打开Dump 文件并加载符号 ctrl + s ctrl + p ctrl + i 自动分析崩溃原因 看到了相关异常信息如下 异常上下文解析: 可以看出,异常触发位置是:aet_breakpad_test!_fr...
示例dump分析:重复释放同一堆内存 代码 分析步骤 用windbg打开Dump 文件并加载符号 ctrl + s ctrl + p ctrl + i 自动分析崩溃原因 看到了相关异常信息如下 异常上下文解析: 可以看出,异常触发位置是:aet_breakpad_test!_fr...
Windows进程线程模型 进程 概述 Windows中进程是程序执行的实例,包含代码、数据、资源(如内存、文件句柄)以及独立的内存空间 每个进程拥有唯一的进程环境块(PEB),用于维护进程状态和资源信息 进程内核对象(PCB) 由内核管理的不可见数据结构,记录进程优先级、状态(...
ATL线程模型和套间 概述 在 COM 开发中,线程模式(Threading Model) 和 套间(Apartment) 是确保组件在多线程环境下安全运行的核心机制 ATL(Active Template Library)通过模板类(如 CComObjectRootEx)和线程...
概述 对CreateThread函数的调用,导致系统创建了一个线程内核对象。 该内核对象最初的使用计数为2,除非线程终止,而且从CreateThread返回的句柄被关闭,否则线程内核对象不会被销毁。 该线程内核对象的其他属性也被初始化: 暂停计数被设为1 退出代码被设为STILL...
概述 DllMain 是 Windows 动态链接库(DLL)的入口函数,类似于可执行程序的 main 函数 它在以下四种情况下会被系统自动调用: DLL 被加载到进程内存 DLL 被卸载 进程创建新线程 线程退出 参数 保留参数 lpReserved: DLL_PROCESS_...
终端服务命名空间 在正在允许终端服务的计算机中,有多个用于内核对象的命名空间。 其中一个是全局命名空间,所有客户端都能访问到的内核对象要放在这个命名空间里面。这个命名空间主要由服务使用。 此外,每个客户端会话都有一个自己的命名空间。 可以通过ProcessIdToSessionI...
概述 什么是完成端口 Windows 的 I/O 完成端口(I/O Completion Ports, IOCP)是一种高效的 I/O 复用模型 广泛用于构建高性能的网络服务器和其他需要处理大量并发 I/O 操作的应用程序 完成端口(Completion Port)是 Windo...
示例dump分析:空指针访问二 代码 分析步骤 !analyze -v 信息1 RAX 寄存器中存储了地址 0x00000000,导致 mov dword ptr [rax], 2Ah 指令尝试向内存地址 0 写入值 0x2A(十进制 42)时触发异常 在 Windows 系统中...
终止进程 方法 主线程的入口点函数返回。 进程中的一个线程调用ExitProcess函数(要避免这种方式)。 另一个进程中的线程调用TerminateProcess函数(要避免这种方式)。 进程中的所有线程都“自然死亡”(几乎从来不会发生)。 入口点函数返回 让主线程的入口点函数...
spy++相关 使用 打开spy++ 查找窗口 把小圆圈拖动到目标窗口上,比如按钮等等 并且在下面选择消息 在消息窗口查看日志 具体信息看下发示例 示例行为 使用spy++监听了某个窗口上的一个Button的消息 然后移动鼠标到Button上 然后用鼠标左键点击该Button 日...
搜索当前分类