2024-04-20 05:59:38 发布
网友
我在Linux下有一个核心转储。这个过程继续进行内存分配,我需要找到至少在哪个库中发生这种情况。
您建议使用什么工具来大致了解内存的去向?我知道这个问题很难完全解决。任何至少能提供一些线索的工具都会有帮助。
[这是一个python进程,怀疑内存分配是由一个用C编写的自定义模块引起的]
问题:需要找到哪个库内存故障。
解决方案:
1)使用valgrind查找无效写入或无效空闲内存
$ valgrind --tool=memcheck --error-limit=no --track-origins=yes (python your script)
2)使用gdb的mmap命令找出库所在的地址空间
$ gdb (your executable) -c (core) $ vmmap
尝试在启用了callgraph的python进程上运行linux perf工具。 如果其多线程进程将所有关联的lwp作为参数。
问题:需要找到哪个库内存故障。
解决方案:
1)使用valgrind查找无效写入或无效空闲内存
2)使用gdb的mmap命令找出库所在的地址空间
尝试在启用了callgraph的python进程上运行linux perf工具。 如果其多线程进程将所有关联的lwp作为参数。
相关问题 更多 >
编程相关推荐