Solaris下使用mdb检查内存泄露
来源:互联网 发布:算法设计导论 编辑:程序博客网 时间:2024/05/21 04:24
步骤一:
UMEM_DEBUG=default UMEM_LOGGING=transaction LD_PRELOAD=libumem.so.1 ./spAgent &
步骤二:
-bash-3.00$ mdb -p 16546 //上面得到进程ID
Loading modules: [ ld.so.1 libumem.so.1 libc.so.1 ]
步骤三:
-bash-3.00$ mdb -p 16546
Loading modules: [ ld.so.1 libumem.so.1 libc.so.1 ]
> ::findleaks //查找内存泄露
CACHE LEAKED BUFCTL CALLER
00484008 11489 00a7f428 libstdc++.so.6.0.3`_Znwj+0x1c
----------------------------------------------------------------------
Total 11489 buffers, 5147072 bytes
步骤四:
> 00a7f428::bufctl_audit //查看最后使用这内存地址的调用堆栈
ADDR BUFADDR TIMESTAMP THREAD
CACHE LASTLOG CONTENTS
a7f428 a85a00 2185ef54480864 47
484008 3165dc 0
libumem.so.1`umem_cache_alloc+0x13c
libumem.so.1`umem_alloc+0x60
libumem.so.1`malloc+0x28
libstdc++.so.6.0.3`_Znwj+0x1c
_ZN6RXConn17HandleSMPPDeliverEPK7AIChunki+0x510
_ZN6RXConn10RecvThreadEv+0x6c4
_ZN6RXConn4RecvEPv+0x20
libc.so.1`_lwp_start
通过以上步骤基本可以定位内存泄露发生在xx函数。
- Solaris下使用mdb检查内存泄露
- 用mdb查看Solaris内存使用情况
- Solaris mdb使用简介
- 在linux下使用mtrace工具检查内存泄露
- 使用valgrind检查内存泄露
- Solaris下内存泄漏检查工具dbx
- Solaris下使用MDB查看全局变量的值
- windows环境下内存泄露的检查
- windows下内存泄露的检查方法
- windows环境下内存泄露的检查
- linux下valgrind内存泄露检查
- linux下valgrind内存泄露检查
- 在Linux下检查内存泄露
- linux使用valgrind 检查内存泄露
- linux使用valgrind 工具检查内存泄露
- 使用VC++检查内存泄露(不懂)
- 使用Visual Leak Detector检查内存泄露
- 内存泄露检查工具BoundsChecker的使用
- 关于模板引擎的前言
- POI解决自动调整列宽的问题
- 学习SVN版本控制与恢复删除
- MIT OS 7. X86地址转换@ Lab2
- Eclipse快捷键大全
- Solaris下使用mdb检查内存泄露
- 最长不降奇偶交替子列 bjfu1028 最长有序子序列
- MyBatis3.1.1和spring3.0的整合
- eclipse如何导入javax.servlet.*
- Codeforces 264B (Good Sequences)
- C库函数中字符串处理函数集合
- php实现socket
- 给屏幕查询条件selection-option赋值
- 解决Hibernate原生SQL映射问题