Windows

各平台调试方法总结记述一

各平台调试方法总结记述一

bingliaolong 2年前 20 0

Windows 日志 可以通过现有日志来观察 当不方便附加进程时,可以通过写文件的方法写日志 Visual Studio 附加到进程 CLion 附加到进程 windbg Linux 日志 应用程序日志 var/log/ 当不方便附加进程时,可以通过写文件的方法写日志 gdb l...

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

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

bingliaolong 5年前 20 0

概述 在用户模式下进行线程同步的最大好处就是速度非常快。 与用户模式下的同步机制相比,内核对象的用途要广泛的多。实际上,内核对象的唯一缺点就是性能。 对线程同步来说,内核对象的每一种要么处于触发状态,要么处于未触发状态。 Microsoft为每种对象创建了一些规则,规定如何在这两...

Windows 高级调试 _ 内存破坏

Windows 高级调试 _ 内存破坏

bingliaolong 5年前 19 0

调试实践 关于调试实践。 内存破坏 栈内存 在Windows中,栈只是操作系统为线程分配的一块内存。 作用是记录函数调用链(局部变量的分配、参数传递)。 每当调用函数时,都会创建一个栈帧并且把它压入到栈中。 随着线程中调用的函数越来越多,栈也会变得越来越大。 函数结构 函数前导指...

Windows 核心编程 _ 内核对象二

Windows 核心编程 _ 内核对象二

bingliaolong 5年前 18 0

终端服务命名空间 在正在允许终端服务的计算机中,有多个用于内核对象的命名空间。 其中一个是全局命名空间,所有客户端都能访问到的内核对象要放在这个命名空间里面。这个命名空间主要由服务使用。 此外,每个客户端会话都有一个自己的命名空间。 可以通过ProcessIdToSessionI...

Windows开发相关简记一

Windows开发相关简记一

bingliaolong 1年前 16 0

消息循环 概述 ATL消息循环 h cpp 其他:Visual studio 相关 符合模式permissive 概述 /permissive-是 Visual Studio(从 VS 2017 版本开始引入)中的一个重要编译器选项,旨在让编译器遵循最新的 C++ 语言标准(C+...

Windows高级调试_调试器

Windows高级调试_调试器

bingliaolong 5年前 16 0

调试器 关于调试器。 调试器类型 用户态调试器 内核态调试器 用户态调试器 查看调试目标的状态 线程、内存、寄存器以及进程空间中打开的内核对象等 修改调试目标的状态 实时调试 分析包含进程快照的转储文件 事后调试 调试工具 cdb.exe 字符界面 可以对windows用户态的内...

Windows进程通信同步、线程通信同步

Windows进程通信同步、线程通信同步

bingliaolong 9个月前 15 0

共享内存 概述 核心在于让多个进程能够访问同一块物理内存区域,从而实现快速的数据共享 原理 将同一段物理内存映射到多个进程各自的虚拟地址空间 通信方式 进程直接读写该内存区域,无需内核在用户态和内核态间拷贝数据 高性能原因 避免了数据在用户态和内核态之间的拷贝,是速度最快的IPC...

COM组件_5_虚表、接口转换、其他

COM组件_5_虚表、接口转换、其他

bingliaolong 2个月前 15 0

关键标识符 CLSID (Class ID) CLSID 是一个 128 位 GUID,唯一标识一个 COM 对象类 ProgID (Programmatic ID) ProgID 是一个字符串,人类可读的类标识 IID (Interface ID) IID 也是 128 位 G...

Windows 核心编程 _ 内核对象:同步异步设备IO

Windows 核心编程 _ 内核对象:同步异步设备IO

bingliaolong 5年前 15 0

概述 在Windows应用程序中,我们可以给每个线程指定一个处理器,这样在多个处理器的机器上就可以同时执行多个操作,从而提高吞吐量。 但是,当一个线程发出一个同步I/O请求的时候,它就会被临时挂起,知道设备完成I/O请求为止。此类挂起会影响性能,因为线程卡在那里不能做别的事情。 ...

WTL 总览

WTL 总览

bingliaolong 5个月前 15 0

概述 ATL ATL 本来是为了写 COM 组件(ActiveX、OLE)而生的,顺带提供了最基础的窗口能力 WTL WTL 是微软的一个团队后来单独发布的头文件库,专门填充 ATL 在 UI 方向的空白 关系 wtl是工具箱,不是框架 ATL 概述 下面这些文件,WTL 依赖这...

扫一扫二维码分享