SOUI源码:log4z
获取 通过一个COM接口的方式获取到一个管理器对象 ThreadHelper 是一个抽象类,接口run是抽象的 start 作为抽象基类,实现了start 主要功能是创建了一个线程(是跨平台的实现), 然后创建了一个Helper,调用了run run里面开始往列表里放数据 wai...
获取 通过一个COM接口的方式获取到一个管理器对象 ThreadHelper 是一个抽象类,接口run是抽象的 start 作为抽象基类,实现了start 主要功能是创建了一个线程(是跨平台的实现), 然后创建了一个Helper,调用了run run里面开始往列表里放数据 wai...
通用 配置符号路径 目的 让WinDbg能够将内存地址翻译成可读的函数名,否则调用栈全是地址,无法分析 命令 识别 Dump 类型和架构 目的 确定是什么类型的dump(full dump? mini dump?) 32位还是64位程序 操作系统版本 是否是WOW64(64位系统...
资源管理 在SOUI系统中,资源文件通过一个统一的接口对象读取 这个接口的实现类通过实现这些既定接口来完成图标(HICON),光标(HCURSOR),位图(HBITMAP),一般图片(IBitmap)的解码,同时也提供原始数据(RawData)的读取。 在SOUI系统中内置了两种...
启动流程 BasicEntry 作为dll导出接口 PrepareEnv 先构建运行时 ntdll.dll kernel32.dll 获取当前dll句柄 EXE被当做DLL加载时,首先修复重定位数据,此时的全局变量等还无法访问 因为Windows操作系统不会修复当做DLL加载的E...
消息通讯 真窗口 ::SendMessage SOUI控件 在SOUI中可以使用SWindow::SSendMessage来向一个目标窗口发送一个消息来通讯,但不支持PostMessage,目标窗口在SOUI窗口的消息映射表中响应发送过来的消息。 SOUI事件机制 每一个事件对应...
示例代码 WinDbg分析 启动调试 编译并运行程序 使用VS编译生成test.exe,并双击运行 附加到进程 启动 WinDbg,选择 File > Attach to Process,找到并选择运行的死锁程序 暂停程序执行 在 WinDbg 中,点击工具栏上的暂停按钮 ...
高效调试 Dump 的通用步骤与方法 准备工作 确保符号文件(.pdb)可用 符号文件必须与崩溃时的程序版本完全一致(编译时间、代码、优化选项一致) 收集必要文件: MiniDump 文件(.dmp) 崩溃时的可执行文件(.exe)及依赖的库(.dll) 源代码(与编译版本一致)...
程序A盖着程序B上面 关于鼠标的消息响应问题 为什么点击公共区域,响应的是上面那个 Windows操作系统按照Z顺序处理窗口,这意味着最上层的窗口优先接收输入事件 操作系统使用Hit Testing方法,根据点击坐标判断哪个窗口包含该坐标 关于未被遮盖部分的显示问题 概述 在Wi...
定义 一般将进程定义成一个正在运行的程序的一个实例 一个内核对象,操作系统用它来管理进程。 内核对象也是系统保存进程统计信息的地方。 一个地址空间,其中包含所有可执行文件或DLL模块的代码和数据。 此外,还包含动态内存分配,比如线程堆栈和堆的分配。 进程要做什么事情,都必须让一个...
概述 什么是完成端口 Windows 的 I/O 完成端口(I/O Completion Ports, IOCP)是一种高效的 I/O 复用模型 广泛用于构建高性能的网络服务器和其他需要处理大量并发 I/O 操作的应用程序 完成端口(Completion Port)是 Windo...
搜索当前标签