Windows 核心编程 _ 创建&&终止线程
创建线程 概述 每个进程至少都有一个线程。 线程的组成 线程的内核对象,操作系统用它管理线程。 系统还用内核对象来存放线程统计信息的地方。 线程栈,用于维护线程执行时所需的所有函数参数和局部变量。 进程从来不会执行任何东西,它是线程的容器。 线程必然是在某个进程的上下文中创建的,...
创建线程 概述 每个进程至少都有一个线程。 线程的组成 线程的内核对象,操作系统用它管理线程。 系统还用内核对象来存放线程统计信息的地方。 线程栈,用于维护线程执行时所需的所有函数参数和局部变量。 进程从来不会执行任何东西,它是线程的容器。 线程必然是在某个进程的上下文中创建的,...
概述 Windows 的组件对象模型(Component Object Model,COM)是一种用于构建可重用软件组件的标准和技术 它允许软件组件以二进制形式进行互操作,独立于编程语言、开发工具和平台 COM 技术广泛应用于各种 Windows 应用程序和系统服务 包括 OLE...
消息循环 概述 ATL消息循环 h cpp 其他:Visual studio 相关 符合模式permissive 概述 /permissive-是 Visual Studio(从 VS 2017 版本开始引入)中的一个重要编译器选项,旨在让编译器遵循最新的 C++ 语言标准(C+...
调试实践 关于调试实践。 内存破坏 栈内存 在Windows中,栈只是操作系统为线程分配的一块内存。 作用是记录函数调用链(局部变量的分配、参数传递)。 每当调用函数时,都会创建一个栈帧并且把它压入到栈中。 随着线程中调用的函数越来越多,栈也会变得越来越大。 函数结构 函数前导指...
平台相关 select 支持:windows 支持:linux,macos,bsd,aix等 poll 支持:linux,macos,bsd等 不支持:一些交旧的或特定的unix操作系统可能不支持poll 不支持:windows不提供标准的poll,但可以通过其他相似的api来达...
示例dump分析:空指针访问二 代码 分析步骤 !analyze -v 信息1 RAX 寄存器中存储了地址 0x00000000,导致 mov dword ptr [rax], 2Ah 指令尝试向内存地址 0 写入值 0x2A(十进制 42)时触发异常 在 Windows 系统中...
作业 概述 作业可以让我们将一组进程当作一个实体来处理。 Windows提供的作业(job)内核对象,允许我们将进程组合在一起并创建一个“沙箱”来限制进程能够做什么。 我们可以创建一个只包含一个进程的作业,来对进程施加平时不能施加的限制。 只含一个进程的作业 这么做的目的是为了对...
概述 Breakpad 客户端库负责监控应用程序是否发生崩溃(异常)、在崩溃发生时通过生成转储来处理这些崩溃 并提供将转储上传到崩溃报告服务器的方法 客户端 概述 Breakpad 客户端主要负责在应用程序崩溃时捕获崩溃信息,并生成 minidump 文件 该 minidump ...
vtop 概述 !vtop(Virtual Address to Physical Address)是 WinDbg 的内置扩展命令,用于将虚拟地址转换为物理地址,同时展示页表(Page Table)和页目录(Page Directory)的转换过程 作用 解析虚拟地址对应的物理...
搜索当前分类