7 blacet

尚未进行身份认证

暂无相关描述

等级
博文 133
排名 2w+

详解c++指针的指针和指针的引用(转)

详解c++指针的指针和指针的引用展示一下使用指针的指针和指针的引用修改传递给方法的指针,以便更好的使用它。(这里说的指针的指针不是一个二维数组)为什么需要使用它们当我们把一个指针做为参数传一个方法时,其实是把指针的复本传递给了方法,也可以说传递指针是指针的值传递。如果我们在方法内部修改指针会出现问题,在方法里做修改只是修改的指针的copy而不是指针本身,原来的指针还保留着原来的...

2019-05-15 17:16:40

C++使用JsonCpp解析Json数据 示例

1、拼接jsonstd::vector<TAccelKeyInfo>::const_iteratoriter=vec_keyinfo.begin();//for(;iter!=vec_keyinfo.end();++iter){Json::FastWriterwriter;Json::Valuevalue;value["shor...

2019-03-03 10:38:28

Windbg 调试程序崩溃问题(转)

https://bbs.pediy.com/thread-217260.htm配置好PDB路径先!analyze -v,确定线程是哪个打开堆栈窗口,这一步配好源文件路径再.ecxr   恢复堆栈,这时候堆栈窗口应该可以看到崩溃时的正确堆栈在堆栈窗口选择显示源文件和源文件参数最好用最新的windbg,5月份出品的,windeb10.0.15063.173版本以后的版本如果栈没...

2019-01-23 10:14:45

Windows消息类型及说明(转)

Windows消息类型及说明转载:https://blog.csdn.net/himayan46/article/details/53432768 WM_ WindowMessage 窗口消息,一般用在SendMessage,PostMessage这样的消息函数中 SM_ StaticMessage 静态标签消息 SS_ StaticSty...

2019-01-14 11:01:45

UML——在Visual Studio 2013/2015中设计UML类图(转)

UML——在VisualStudio2013/2015中设计UML类图1.UML简介UnifiedModelingLanguage(UML)又称统一建模语言或标准建模语言。简单说就是以图形方式表现模型,根据不同模型进行分类,在UML2.0中有13种图,以下是他们的主要用途简介:1.用例图:对系统的使用方式分类.2.类图:显示类和它们的相互关系。3.对象图:只显示...

2019-01-14 10:34:43

VC项目中文件类型说明

.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。 .BMP:位图资源文件。 .BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用sourcebrower的话就必须有这个文件。可以在projec...

2018-12-18 11:21:05

API Monitor简介(API监控工具)(转)

 APIMonitor简介(API监控工具)APIMonitor是一个免费软件,可以让你监视和控制应用程序和服务,取得了API调用。它是一个强大的工具,看到的应用程序和服务是如何工作的,或跟踪,你在自己的应用程序的问题。64位支持API监控支持监控的64位应用程序和服务。64位版本只能用来监视64位应用程序和32位版本仅可用于监测的32位应用程序。要监视在64位Windo...

2018-11-12 14:49:18

基于WinDbg的内存泄漏分析

基于WinDbg的内存泄漏分析在前面C++中基于Crt的内存泄漏检测一文中提到的方法已经可以解决我们的大部分内存泄露问题了,但是该方法是有前提的,那就是一定要有源代码,而且还只能是Debug版本调试模式下。实际上很多时候我们的程序会用到第三方没有源代码的模块,有些情况下我们甚至怀疑系统模块有内存泄露,但是有没有证据,我们该怎么办?这时我们就要依靠无所不能的WinDbg了。WinDbg的!h...

2018-11-07 16:12:22

从点击Button到弹出一个MessageBox, 背后发生了什么(转)

从点击Button到弹出一个MessageBox,背后发生了什么思考一个最简单的程序行为:我们的Dialog上有一个Button,当用户用鼠标点击这个Button时,我们弹出一个MessageBox。 这个看似简单的行为,谁能说清楚它是如何运行起来的,背后究竟发生了什么?  下面是我个人尝试的解答: (1)我们的鼠标点击事件到达设备的驱动程序,驱动程序把消息放...

2018-11-06 09:42:29

windbg调试命令

windbg调试命令 #调试命令窗口 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#使用gflags.exe工具(在windbg所在目录下),让某个进程启动时,拉取windbg进行调试如下截图:当名称为captcomm.exe的进程启动时,拉起windbg调试也可通过脚本命令来实现:...

2018-11-05 19:05:40

Windbg实用手册(转)

Windbg实用手册Windbg工作中用的不多,所以命令老是记不住,每次使用都要重新查命令,挺烦。趁这次培训的机会好好测试和总结了一下,下次再用就方便多了。在这里一起共享一下,如果有错误,请指正。 基本知识和常用命令(1)       Windbg下载地址http://msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx...

2018-11-02 17:09:21

程序(进程)内存分布 解析(转)

程序(进程)内存分布解析在多任务操作系统中的每一个进程都运行在一个属于它自己的内存沙盘中。这个沙盘就是虚拟地址空间(virtualaddressspace),在32位模式下它总是一个4GB的内存地址块。这些虚拟地址通过页表(pagetable)映射到物理内存,页表由操作系统维护并被处理器引用。每一个进程拥有一套属于它自己的页表,但是还有一个隐情。只要虚拟地址被使能,那么它就会作用于这台...

2018-09-30 18:32:33

windows内存结构概述(转)

windows内存结构概述 13.1Windows的虚拟地址空间安排13.1.1虚拟地址空间的分区(即虚拟地址空间布局) 进程的地址空间划分 分区 x8632位 Windows 3GB用户模式下的x86 32位Windows X6464位 Windows ...

2018-09-30 18:29:27

win32堆及内部结构(转)

   win32堆及内部结构目录默认堆堆内部结构堆段堆块堆分配和释放实例前端分配器旁视列表前端分配器和低碎片前端分配器低碎片前端分配器后端分配器内存分配步骤:内存释放过程默认堆Windows在创建一个新的进程时会为该进程创建第一个堆,被称为进程的默认堆。默认堆的句柄会被保存在进程环境块_PEB的ProcessHeap字段中。要获得_PE...

2018-09-30 15:30:38

windbg-!address、!vadump、!vprot(读取内存状态)(转)

转载地址:windbg-!address、!vadump、!vprot(读取内存状态)目录!address!vadump!vprot!address!address扩展显示目标进程或目标机使用的内存信息这个学习起来比较简单:我们直接使用!address-?就可以找到它的使用说明:0:000>!address-?!address...

2018-09-30 15:06:52

Appverifier使用说明及原理

转载地址  AppVerifier 特别用于检测和帮助调试内存损坏、危险的安全漏洞以及受限的用户帐户特权问题。AppVerifier 有助于创建可靠且安全的应用程序,方法是监视应用程序与Windows操作系统的交互,并配置应用程序使用的对象、注册表、文件系统和 Win32 API(包括堆、句柄和锁)。AppVerifier 还包括检查,以便预测应用程序在非管理员环境中的执行情况。 1...

2018-09-29 21:42:19

学习使用常用的windbg命令(u、dt、ln、x)(转)

详细(1)u命令(反汇编)(2)dt命令(查看数据结构)(3)ln命令(查找就近的符号)(4)x命令(显示模块的符号)(5)k命令(显示调用栈)(6)d命令(以数据方式显示)(7)b命令(断点)(8)lmlmvm(显示模块信息) (9).reload(重加载模块)(10)!process!thread.process.thread(查看进程线...

2018-09-26 15:51:32

Win32内存结构(转)

转载地址:Win32内存结构(1)在Win32中每一个进程的虚拟地址空间大小是4GB。32位的指针能从0x00000000到0xFFFFFFFF。这使得指针有4GB种值,既覆盖了4GB的空间。请注意该4GB的地址空间是私人地址空间,它只属于某个进程。当进程中的线程在运行时,它只能使用属于本进程的内存。也就是说,对于一个线程来说,别的进程的内存是不可访问的。这样也就是说,进程A可以有一个数据保存...

2018-09-25 16:06:42

​​​​​​​C/C++程序员必须熟练应用的开源项目 -- 转

C/C++程序员必须熟练应用的开源项目--转  作为一个经验丰富的C/C++程序员,肯定亲手写过各种功能的代码,比如封装过数据库访问的类,封装过网络通信的类,封装过日志操作的类,封装过文件访问的类,封装过UI界面库等,也在实际的项目中应用过,但是回过头仔细想想,其实以前自己写过的这些代码,只能是在特定的项目或者特定的环境中使用,对于自己来说,在不同的项目中应用,只需要复...

2018-09-14 17:36:23

windbg检测句柄泄露(定位到具体代码)

转载:windbg检测句柄泄露(定位到具体代码)1.构造一个测试用例#include"stdafx.h"#include<Windows.h>voidNormalFunc(){ HANDLEhEvent; hEvent=CreateEvent(NULL,TRUE,TRUE,NULL); CloseHandle(hEvent);}voidH...

2018-09-10 20:19:03
奖章
    暂无奖章