Windows

Windows API记述一:Interlocked系列函数、VirtualAlloc、QueryPerformanceCounter、SetThreadPriority、延迟执行、优先级工作机制(调度)

Windows API记述一:Interlocked系列函数、VirtualAlloc、QueryPerformanceCounter、SetThreadPriority、延迟执行、优先级工作机制(调度)

bingliaolong 2个月前 6 0

函数 InterlockedIncrement 概述 这两个函数是 Windows 平台上进行线程安全原子操作的核心工具,用于实现高效的无锁多线程编程 特性 原子性:CPU 硬件保证操作的不可分割性 无锁:无需传统互斥锁(mutex),性能更高 内存屏障:隐含完整的读-写内存屏障...

Windows 核心编程 _ 用户模式:线程同步三

Windows 核心编程 _ 用户模式:线程同步三

bingliaolong 4年前 7 0

Slim读写锁 概述 目的和关键段一样,对一个资源进行保护,不让其他线程访问它。 和关键段不同的是,SRWLock允许我们区分那些想要读取资源的值的线程(读取者线程)以及想要更新资源的值的线程(写入者线程) 关于读写锁的功能 让所有的读取者线程同一时刻访问共享资源应该是可行的,因...

Windows进程通信相关

Windows进程通信相关

bingliaolong 6个月前 8 0

Windows相关 消息队列 PostMessage 将消息异步发送到指定窗口的消息队列 目标窗口可以是同一进程或不同进程的窗口 只要发送方持有目标窗口的有效句柄(HWND),即可跨进程发送消息 场景: 例如通知其他进程的窗口更新界面或执行特定操作 例如结合 WM_COPYDAT...

WTL 概述

WTL 概述

bingliaolong 6个月前 4 0

WTL下载 WTL WTL 基础概念 定位与优势 基于 ATL 的扩展库,专注于高效 Win32 GUI 开发,无 MFC 的臃肿 优势 模板驱动:零成本抽象,代码体积小 兼容 Win32 API:直接操作窗口句柄,灵活性高。 现代 C++ 风格:支持 RAII、模板元编程 WT...

Windows Dll自卸载相关

Windows Dll自卸载相关

bingliaolong 1年前 4 0

简述 在Windows中,DLL(动态链接库)可以请求操作系统卸载自己,但这样做是有风险的 要确保在DLL被卸载后不再访问任何DLL内部的资源或函数 FreeLibrary 如果在test.dll的某个函数里面,获取到test.dll的句柄后,调用FreeLibrary释放了te...

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

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

bingliaolong 4年前 6 0

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

Windows 高级调试 _ 内存破坏

Windows 高级调试 _ 内存破坏

bingliaolong 4年前 8 0

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

Dump分析:重复释放堆内存,死锁

Dump分析:重复释放堆内存,死锁

bingliaolong 5个月前 13 0

示例dump分析:重复释放同一堆内存 代码 分析步骤 用windbg打开Dump 文件并加载符号 ctrl + s ctrl + p ctrl + i 自动分析崩溃原因 看到了相关异常信息如下 异常上下文解析: 可以看出,异常触发位置是:aet_breakpad_test!_fr...

Windbg:命令总览学习一

Windbg:命令总览学习一

bingliaolong 5个月前 16 0

!analyze -v FAULTING_IP 显示发生故障时的指令指针 EXCEPTION_RECORD 显示此崩溃的异常记录 也可以通过.exr查看 BUGCHECK_STR 该名称是错误的名称,错误检查一词实际上表示内核模式崩溃 在用户模式调试中,将显示异常代码 DEFAU...

Windbg关于死锁的简单调试分析总结

Windbg关于死锁的简单调试分析总结

bingliaolong 11个月前 148 0

示例代码 WinDbg分析 启动调试 编译并运行程序 使用VS编译生成test.exe,并双击运行 附加到进程 启动 WinDbg,选择 File > Attach to Process,找到并选择运行的死锁程序 暂停程序执行 在 WinDbg 中,点击工具栏上的暂停按钮 ...

扫一扫二维码分享