Windows

Windows 高级调试 _ 内存破坏

Windows 高级调试 _ 内存破坏

bingliaolong 4年前 6 0

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

Windows机制: 窗口及渲染相关

Windows机制: 窗口及渲染相关

bingliaolong 1年前 19 0

程序A盖着程序B上面 关于鼠标的消息响应问题 为什么点击公共区域,响应的是上面那个 Windows操作系统按照Z顺序处理窗口,这意味着最上层的窗口优先接收输入事件 操作系统使用Hit Testing方法,根据点击坐标判断哪个窗口包含该坐标 关于未被遮盖部分的显示问题 概述 在Wi...

C++程序高级调试与优化_第一篇

C++程序高级调试与优化_第一篇

bingliaolong 2年前 17 0

地址空间 32位系统,CPU可直接寻址4GB空间,这也是每个进程的地址空间大小。 其中,高2GB供内核模块使用,称为内核空间。 低2GB供用户态模块使用,称为用户空间。 使用/3GB开关,可以将用户空间增大到3GB。 Windows内容load到内核空间高地址,主程序load到用...

Windows 核心编程 _ 线程内幕

Windows 核心编程 _ 线程内幕

bingliaolong 3年前 10 0

概述 对CreateThread函数的调用,导致系统创建了一个线程内核对象。 该内核对象最初的使用计数为2,除非线程终止,而且从CreateThread返回的句柄被关闭,否则线程内核对象不会被销毁。 该线程内核对象的其他属性也被初始化: 暂停计数被设为1 退出代码被设为STILL...

Windows调试相关简记

Windows调试相关简记 6

bingliaolong 3年前 15 0

Sysinternals工具包 下载地址 VS VS远程调试 在VS安装的目录下,从Remote Debugger这个文件夹中,拿到x86或x64 在待调试环境中,管理员权限打开msvsmon.exe 无身份验证,允许任何用户进行调试 在调试环境中: 附加到进程 远程 选择连接模...

Windows线程同步相关

Windows线程同步相关

bingliaolong 3个月前 6 0

用户模式同步 Interlocked 系列函数 原理 通过 CPU 原子指令(如 LOCK XCHG)直接操作内存,无需进入内核态 场景 简单计数器(如引用计数) 无锁数据结构(如无锁队列) 特点 性能极高(无内核切换) 仅支持单个变量的原子操作,无法实现复杂同步 临界区(Cri...

Windows机制:文件系统、磁盘、磁盘碎片相关

Windows机制:文件系统、磁盘、磁盘碎片相关

bingliaolong 1周前 3 0

磁盘碎片 概述 文件在物理磁盘上被分割存储在非连续扇区,导致读写磁头需要频繁移动 碎片类型 内部碎片(Internal Fragmentation) 成因:文件系统固定簇大小(如NTFS默认4KB) 空间浪费:小文件占用整个簇 量化公式: 浪费率 = (簇大小 - 文件大小 % ...

Windows 核心编程 _ 进程四

Windows 核心编程 _ 进程四

bingliaolong 4年前 8 0

创建进程:CreateProcess 函数原型 进程创建过程 一个线程调用这个CreateProcess时,系统将创建一个进程内核对象,初始使用计数为1。 进程内核对象不是这个进程本身,而是一个操作系统用来操作这个进程的一个小型数据结构。 然后,系统为新进程创建一个虚拟地址空间,...

关于异常的捕获和dump文件的生成

关于异常的捕获和dump文件的生成

bingliaolong 3年前 52 0

异常的产生 CPU执行程序汇编代码时,发现了异常,然后把异常告诉了操作系统。 操作系统首先会让程序自身处理这个异常。 如果程序自身有能力处理,程序就继续运行。 有能力是值程序中有注册的异常处理函数。 如果程序没能力处理,这个异常还没被处理,操作系统就会来处理,操作系统就会提示用户...

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

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

bingliaolong 1周前 4 0

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

扫一扫二维码分享