草庐IT

Valgrind

全部标签

linux - 是否有工具可以检查两个 callgrind/valgrind 配置文件的差异?

我试图了解程序在使用不同选项运行时的性能如何变化——我想解释一下系数1.8。我一直在使用[valgrind]的callgrind工具进行分析,并使用kcachegrind可视化结果。但我真的很想看看差异。我找到了cg_diff程序,但它不适用于callgrind配置文件,只能用于cachegrind配置文件,这对我来说太贵了,无法收集。有没有人知道可视化两个配置文件之间差异的工具? 最佳答案 cachegrind的结果有一个工具,cg_diff。但是没有callgrind的工具。 关于l

c - 在 valgrind 下运行时,setrlimit 失败并显示不允许操作

我可能遗漏了一些东西,也可能没有,但是setrlimit函数在valgrind下运行时一直失败intmain(){conststructrlimitfile_limits={.rlim_cur=65536,.rlim_max=65536};if(setrlimit(RLIMIT_NOFILE,&file_limits)){printf("Failed%d",errno);perror("More");}else{printf("Success");}printf("\n");return0;}这是示例运行正常运行sh-4.2#ulimit-H-n800000sh-4.2#ulimit-

c - 在 valgrind 下运行时,setrlimit 失败并显示不允许操作

我可能遗漏了一些东西,也可能没有,但是setrlimit函数在valgrind下运行时一直失败intmain(){conststructrlimitfile_limits={.rlim_cur=65536,.rlim_max=65536};if(setrlimit(RLIMIT_NOFILE,&file_limits)){printf("Failed%d",errno);perror("More");}else{printf("Success");}printf("\n");return0;}这是示例运行正常运行sh-4.2#ulimit-H-n800000sh-4.2#ulimit-

linux - kcachegrind 的控制台替代品?

Kcachegrind非常棒,它是我最喜欢的工具,但有时我无法在远程服务器上的终端(例如使用ssh)中运行它。我知道可以设置VNC或X-server转发,但它很笨拙,而我需要一些简单的东西。是否有任何kcachegrind控制台替代方案(例如基于ncurses)? 最佳答案 您可以使用命令行实用程序valgrind--tool=callgrind从callgrind输出文件(由callgrind_annotate创建)中获取基本信息和注释。(manualpagesectionindocs)。对于由cachegrind(valgrin

linux - kcachegrind 的控制台替代品?

Kcachegrind非常棒,它是我最喜欢的工具,但有时我无法在远程服务器上的终端(例如使用ssh)中运行它。我知道可以设置VNC或X-server转发,但它很笨拙,而我需要一些简单的东西。是否有任何kcachegrind控制台替代方案(例如基于ncurses)? 最佳答案 您可以使用命令行实用程序valgrind--tool=callgrind从callgrind输出文件(由callgrind_annotate创建)中获取基本信息和注释。(manualpagesectionindocs)。对于由cachegrind(valgrin

c - valgrind - 地址 ---- 在分配大小为 8 的 block 之后为 0 字节

首先,我知道有人问过类似的问题。但是,我想提出一个更普遍的简单问题,涉及真正原始的C数据类型。所以就在这里。在main.c中,我调用一个函数来填充这些字符串:intmain(intargc,char*argv[]){char*host=NULL;char*database;char*collection_name;char*filename="";char*fields=NULL;char*query=NULL;...get_options(argc,argv,&host,&database,&collection_name,&filename,&fields,&query,&aggr

c - valgrind - 地址 ---- 在分配大小为 8 的 block 之后为 0 字节

首先,我知道有人问过类似的问题。但是,我想提出一个更普遍的简单问题,涉及真正原始的C数据类型。所以就在这里。在main.c中,我调用一个函数来填充这些字符串:intmain(intargc,char*argv[]){char*host=NULL;char*database;char*collection_name;char*filename="";char*fields=NULL;char*query=NULL;...get_options(argc,argv,&host,&database,&collection_name,&filename,&fields,&query,&aggr

android - 如何使用 valgrind 启动一个安卓应用程序

上周我一直在寻找这个问题的答案。如何使用valgrind启动Android应用程序?我知道我可以使用“am”命令启动应用程序,但它会启动应用程序并退出。我正在编写一个将NDK用于nativeC代码的应用,我需要检查它是否存在可疑的内存错误。编辑:我学到了更多。您可以使用shell脚本“包装”应用程序。这是我正在使用的shell脚本:#!/system/bin/shVGPARAMS='--error-limit=no'exportTMPDIR=/data/data/com.starlon.froyvisualsexec/data/local/Inst/bin/valgrind$VGPAR

android - 如何使用 valgrind 启动一个安卓应用程序

上周我一直在寻找这个问题的答案。如何使用valgrind启动Android应用程序?我知道我可以使用“am”命令启动应用程序,但它会启动应用程序并退出。我正在编写一个将NDK用于nativeC代码的应用,我需要检查它是否存在可疑的内存错误。编辑:我学到了更多。您可以使用shell脚本“包装”应用程序。这是我正在使用的shell脚本:#!/system/bin/shVGPARAMS='--error-limit=no'exportTMPDIR=/data/data/com.starlon.froyvisualsexec/data/local/Inst/bin/valgrind$VGPAR

Python内存泄漏?

我正在编写一个似乎正在泄漏内存的python扩展。我正在尝试使用valgrind找出问题的根源。但是,根据valgrind,python本身似乎正在泄漏内存。使用以下简单脚本:hello.pyprint"HelloWorld!"做事>valgrind--tool=memcheckpython./hello.py(...)==7937==ERRORSUMMARY:580errorsfrom34contexts(suppressed:21from1)==7937==malloc/free:inuseatexit:721,878bytesin190blocks.==7937==malloc/