我在Eclipse Memory Analyzer(也称为MAT)的帮助下分析了我的Android应用程序的内存使用情况.有时我可以找到奇怪的android.graphics.Bitmap类实例,利用大部分堆.问题是我找不到这个位图的来源,没有文件名,没有resourceID,什么都没有.我能找到的关于位图的所有信息如下:

mBuffer我假设有一个带有图像像素阵列的场.但它采用的是一些内部Android格式,而不是PNG.
问题:如何从内存转储中查看此位图表示的图像?
我有一个System.Diagnostics.Process对象.我的C#程序正在监视某些情况.当条件被命中时,我想要获取进程的完整内存转储.
实现这一目标的最佳方法是什么?
有没有CLR提供的方法?
有人可以提出一个很好的免费工具来分析除Adplus/windbg/sos之外的.Net内存转储吗?
我是使用C#和Delphi 2006代码的产品的升级工程师.
在大多数情况下,使用EurekaLog的WinDbg和Delphi 2006问题调试C#问题.
但是当问题是Delphi内存使用时,EurekaLog没有提供足够的信息来解决这个问题,而我唯一需要调试它的是一个完整的内存转储文件.
我不能(或者我不知道如何)在WinDbg中加载符号文件,因为它是一个.map文件而不是.pdb文件.
所以我的问题是:
如何从WinDbg中的.map文件加载符号?(转换.map为.pdb或其他.)
是否有工具来分析Delphi应用程序的转储文件?
我正在写的应用程序总是在客户端计算机上崩溃,但我没有得到异常描述或堆栈跟踪.
我唯一得到的是Windows希望发送给Microsoft的崩溃报告.
我想获取转储文件并自己调查,但我找不到它.
当我"查看错误报告的内容"时,我可以看到不同的内存转储,但我无法复制或保存它.
从Windows Vista开始,我们可以直接从任务管理器创建进程的内存转储.可悲的是,Windows Server 2003还没有这个选项:(我找到了完成整个系统范围内存转储的方法,但这有点太多了.
有没有办法转储一个进程?由于这是一个生产服务器,我不希望安装在后台运行任何重量级的工具或服务,最好我只是想转储过程中,转储复制到我自己的机器和调试它.
是否有可能在不杀死进程的情况下生成核心转储?如果是这样,命令/信号是什么?
谢谢,吉姆
读取/ proc/$ PID/maps时,您将获得映射的内存区域.是否可以倾倒这个地区之一?
$ cat /proc/18448/maps
...[snip]...
0059e000-005b1000 r-xp 00000000 08:11 40 /usr/local/lib/libgstlightning.so.0.0.0
005b1000-005b2000 r--p 00012000 08:11 40 /usr/local/lib/libgstlightning.so.0.0.0
005b2000-005b3000 rw-p 00013000 08:11 40 /usr/local/lib/libgstlightning.so.0.0.0
...[snip]...
Run Code Online (Sandbox Code Playgroud)
谢谢
是否有任何已知的命令行工具要求JVM查看java程序的内存使用情况和线程转储.像无头的jvisualvm?
Start ProfilingSCM门户中有一个很好的按钮,非常适合CPU.
然后有一些来源引用一个Download GC Dump按钮:https:
//stackoverflow.com/a/27987593/647845
但这似乎不再可用了.
然后是Download memory dump按钮.但是现在我无法弄清楚如何/我是否可以看到我也使用的Type/Refcount/Size stastistics.
在C#Azure Web App中查找内存泄漏的推荐方法是什么?