SYSTEM

Dump分析:调试方法与实践,空指针访问

Dump分析:调试方法与实践,空指针访问

bingliaolong 1年前 30 0

高效调试 Dump 的通用步骤与方法 准备工作 确保符号文件(.pdb)可用 符号文件必须与崩溃时的程序版本完全一致(编译时间、代码、优化选项一致) 收集必要文件: MiniDump 文件(.dmp) 崩溃时的可执行文件(.exe)及依赖的库(.dll) 源代码(与编译版本一致)...

WTL 总览

WTL 总览

bingliaolong 3周前 4 0

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

Linux 线程的同步与互斥

Linux 线程的同步与互斥

bingliaolong 6年前 5 0

线程的互斥 在Posix Thread中定义了一套专门用于线程互斥的mutex函数。mutex是一种简单的加锁的方法来控制对共享资源的存取,这个互斥锁只有两种状态(上锁和解锁),可以把互斥锁看作某种意义上的全局变量。为什么需要加锁,就是因为多个线程共用进程的资源,要访问的是公共区...

Linux 高性能服务器编程:TCP一

Linux 高性能服务器编程:TCP一 9

bingliaolong 4年前 13 0

TCP特点 面向连接 字节流 可靠传输 关于TCP 使用TCP通信的双方必须先建立连接,然后才能开始数据的读写。 双方都必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输。 TCP连接是全双工的,双方的数据读写可以通过一个连接进行。完成数据交换之后,通信双方都必须...

Linux学习:编译相关

Linux学习:编译相关

bingliaolong 1周前 7 0

概述 编译阶段 编译阶段是整个编译流水线中最复杂、最核心的阶段——它是编译器的"大脑" 定义 编译阶段把预处理后的 C/C++ 源码(纯文本)翻译成汇编语言(或 LLVM IR) 这个阶段要完成"理解高级语言的含义,并用低级语言表达出来"这...

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

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

bingliaolong 3年前 21 0

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

Windbg:命令总览学习一

Windbg:命令总览学习一

bingliaolong 1年前 36 0

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

Macos屏保相关

Macos屏保相关

bingliaolong 2年前 8 0

登录用户 获取登录用户名 uuid 需要获取硬件UUID,用这个UUID拼出目标文件名。具体: 获取 通过IOKit库查询“IOPlatformExpertDevice”服务,并从中读取“IOPlatformUUID”属性,获取的就是硬件的UUID 这个UUID是针对Mac计算机...

Linux 基于文件描述符的文件操作(非缓冲)

Linux 基于文件描述符的文件操作(非缓冲)

bingliaolong 6年前 3 0

文件描述符 内核为每个进程维护一个已打开文件的记录表,文件描述符是一个较小的正整数(0—1023),它代表记录表的一项,通过文件描述符和一组基于文件描述符的文件操作函数,就可以实现对文件的读、写、创建、删除等操作。 常用基于文件描述符的函数有open(打开)、creat(创建)、...

Linux » Linux 高性能服务器编程:信号

Linux » Linux 高性能服务器编程:信号 6

bingliaolong 4年前 6 0

概述 信号是由用户 、系统或者进程发送给目标进程的信息,以通知目标进程某个状态的改变或系统异常。 Linux信号产生条件: 对于前台进程,用户可以通过输入特殊的终端字符来给它发送信号。 比如Ctrl+C通常会给进程发送一个中断信号。 系统异常。 比如浮点数异常和非法内存段访问。 ...

扫一扫二维码分享