c++有没有内存分配查看工具啊

问题描述

c++有没有内存分配查看工具啊

有没有一个工具可以查看c++对象内存分配情况呢?至少可以得到有哪些对象,分别是分配在堆上还是栈上等信息?

解决方案

根本不用看,我说了,这是固定的。局部变量在堆栈上,动态分配的在堆上。

解决方案二:

有内存泄露检测工具。。。。。。

解决方案三:

主要是从语法上来理解,直接查看的工具没有,一般也就是nm readelf等分析。

时间: 2024-12-05 22:51:18

c++有没有内存分配查看工具啊的相关文章

C/C++的内存泄漏检测工具Valgrind memcheck的使用经历

Linux下的Valgrind真是利器啊(不知道Valgrind的请自觉查看参考文献(1)(2)),帮我找出了不少C++中的内存管理错误,前一阵子还在纠结为什么VS 2013下运行良好的程序到了Linux下用g++编译运行却崩溃了,给出一堆汇编代码也看不懂.久久不得解过后,想想肯定是内存方面的错误,VS在这方面一般都不检查的,就算你的程序千疮百孔,各种内存泄露.内存管理错误,只要不影响运行,没有读到不该读的东西VS就不会告诉你(应该是VS内部没实现这个内存检测功能),因此用VS写出的程序可能不是

android内存泄露分析工具MAT详解

一.准备 1.什么是MAT Eclipse提供的一个内存分析工具.它是一个功能丰富的 JAVA 堆转储文件分析工具,可以帮助你发现内存漏洞和减少内存消耗. android studio未集成该插件 需要你下载独立版 android studio的DDMS可以生成hprof是什么文件,不过需要进行一下格式转化(.hprof文件从Dalvik格式转换成J2SE HPROF格式),才可以导入MAT独立版软件. 2.hprof是什么文件 heap dumps,中文翻译,堆转储,快照.即堆内存某个时刻的情

memtester 4.2.2发布 内存子系统测试工具

memtester是一个用户空间在一台计算机内存子系统测试工具,以确定它是否有故障.它能发现间歇性故障和非确定性故障.它有很多的测试,以帮助捕捉临界内存. memtester要编译和运行任何32位或64位的Unix或类Unix系统. memtester 4.2.2BSD这个版本增加了一个mlock运行失败errno值(EAGAIN)的进度消息:BSD中使用此方法来指示锁失败,一个系统或过程的限制,很像ENOMEM. 下载地址:http://pyropus.ca/software/memteste

linux环境内存分配原理 mallocinfo【转】

转自:http://www.cnblogs.com/dongzhiquan/p/5621906.html Linux的虚拟内存管理有几个关键概念: Linux 虚拟地址空间如何分布?malloc和free是如何分配和释放内存?如何查看堆内内存的碎片情况?既然堆内内存brk和sbrk不能直接释放,为什么不全部使用 mmap 来分配,munmap直接释放呢 ? Linux 的虚拟内存管理有几个关键概念: 1.每个进程都有独立的虚拟地址空间,进程访问的虚拟地址并不是真正的物理地址: 2.虚拟地址可通过

kmemleak的使用---内存泄露检测工具【转】

转自:http://blog.csdn.net/lishenglong666/article/details/8287783 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 内核泄露检测kmemleak 介绍 用法 功能实现的基本方法原理 Kmemleak API 处理假阳性阴性 限制和缺点 测试的特定部分kmemleak   内核泄露检测(kmemleak) 介绍: Kmemleak 提供了一种可选的内核泄漏检测,其方法类似于跟踪内存收集器.(http://en.w

VC6下使用STL注意:不要让内存分配失败导致您的旧版STL 应用程序崩溃

大多数 C++ 开发人员在他们的代码中都广泛使用了标准模块库 (STL).如果您是其中的一员,并且正在直接使用即装即用的 STL 和 Visual C++ 6.0,则在内存不足的条件下,您的应用程序就处于崩溃的高度危险的状况下.产生此问题的原因是,检查运算符 new 是否失败是一种非常少见的做法.更糟糕的是,当 new 确实失败时,响应不是标准的.有些语言编译器返回 NULL,而其他语言则引发异常. 另外,如果您正在 MFC 项目中使用 STL,要注意 MFC 有其自己的规则集.本文将讨论这些问

解析操作系统的内存分配(malloc)对齐策略

问题: 我们在写程序的时候经常发现程序使用的内存往往比我们申请的多,为了优化程序的内存占用,搅尽脑汁想要优化内存占用,可是发现自己的代码也无从优化了,怎么办?现在我们把我们的焦点放到malloc上,毕竟我们向系统申请的内存都是通过它完成了,不了解他,也就不能彻底的优化内存占用. 来个小例子 //g++ -o malloc_addr_vec mallc_addr_vec.cpp 编译 #include<iostream> using namespace std; int main(int arg

VC内存泄露检查工具:VisualLeakDetector

初识VisualLeakDetector灵活自由是C/C++语言的一大特色,而这也为C/C++程序员出了一个难题.当程序越来越复杂时,内存的管理也会变得越加复杂,稍有不慎就会出现内存问题.内存泄漏是最常见的内存问题之一.内存泄漏如果不是很严重,在短时间内对程序不会有太大的影响,这也使得内存泄漏问题有很强的隐蔽性,不容易被发现.然而不管内存泄漏多么轻微,当程序长时间运行时,其破坏力是惊人的,从性能下降到内存耗尽,甚至会影响到其他程序的正常运行.另外内存问题的一个共同特点是,内存问题本身并不会有很明

我所理解的内存分配算法#1

内存分配从本质上来说是一种空间管理算法,给你一块连续的空间,提供存储服务,那么你的空间管理跟分配要采用什么样的算法才会比较高效? Bump-the-Pointer Bump-the-Pointer是最简单的算法.HotSpot的MM白皮书是这么描述btp的, That is, the end of the previously allocated object is always kept track of. When a new allocation request needs to be s