
Windows 核心编程 _ 内核对象二
终端服务命名空间 在正在允许终端服务的计算机中,有多个用于内核对象的命名空间。 其中一个是全局命名空间,所有客户端都能访问到的内核对象要放在这个命名空间里面。这个命名空间主要由服务使用。 此外,每个客户端会话都有一个自己的命名空间。 可以通过ProcessIdToSessionI...
终端服务命名空间 在正在允许终端服务的计算机中,有多个用于内核对象的命名空间。 其中一个是全局命名空间,所有客户端都能访问到的内核对象要放在这个命名空间里面。这个命名空间主要由服务使用。 此外,每个客户端会话都有一个自己的命名空间。 可以通过ProcessIdToSessionI...
概述 Breakpad 客户端库负责监控应用程序是否发生崩溃(异常)、在崩溃发生时通过生成转储来处理这些崩溃 并提供将转储上传到崩溃报告服务器的方法 客户端 概述 Breakpad 客户端主要负责在应用程序崩溃时捕获崩溃信息,并生成 minidump 文件 该 minidump ...
ATL线程模型和套间 概述 在 COM 开发中,线程模式(Threading Model) 和 套间(Apartment) 是确保组件在多线程环境下安全运行的核心机制 ATL(Active Template Library)通过模板类(如 CComObjectRootEx)和线程...
调试堆内存 启用用户堆栈跟踪(User Stack Trace) 方法一 通过 gflags.exe 为目标进程添加堆栈跟踪标志: 方法二: 打开Global Flags,设置如图示: 相关问题 在实践过程中,发现勾选Enable page heap之后,虽然点击上图的应用确认之...
获取 通过一个COM接口的方式获取到一个管理器对象 ThreadHelper 是一个抽象类,接口run是抽象的 start 作为抽象基类,实现了start 主要功能是创建了一个线程(是跨平台的实现), 然后创建了一个Helper,调用了run run里面开始往列表里放数据 wai...
高效调试 Dump 的通用步骤与方法 准备工作 确保符号文件(.pdb)可用 符号文件必须与崩溃时的程序版本完全一致(编译时间、代码、优化选项一致) 收集必要文件: MiniDump 文件(.dmp) 崩溃时的可执行文件(.exe)及依赖的库(.dll) 源代码(与编译版本一致)...
WIN32_LEAN_AND_MEAN 一个预处理宏,用于控制 Windows 头文件中包含哪些内容 具体来说,定义这个宏会减少 Windows 头文件中包含的一些不常用的头文件和 API,从而减小编译时间并减少编译产生的二进制文件的大小 比如在包含 windows.h 之前定义...
概述 对CreateThread函数的调用,导致系统创建了一个线程内核对象。 该内核对象最初的使用计数为2,除非线程终止,而且从CreateThread返回的句柄被关闭,否则线程内核对象不会被销毁。 该线程内核对象的其他属性也被初始化: 暂停计数被设为1 退出代码被设为STILL...
Windows 日志 可以通过现有日志来观察 当不方便附加进程时,可以通过写文件的方法写日志 Visual Studio 附加到进程 CLion 附加到进程 windbg Linux 日志 应用程序日志 var/log/ 当不方便附加进程时,可以通过写文件的方法写日志 gdb l...
spy++相关 使用 打开spy++ 查找窗口 把小圆圈拖动到目标窗口上,比如按钮等等 并且在下面选择消息 在消息窗口查看日志 具体信息看下发示例 示例行为 使用spy++监听了某个窗口上的一个Button的消息 然后移动鼠标到Button上 然后用鼠标左键点击该Button 日...
搜索当前标签