valgrind日志解析器。从txt日志创建html报告。

valgrind-parser的Python项目详细描述


Build Status

Valgrind解析器工具


此工具帮助解析由valgrind工具生成的valgrind日志。在

先决条件

成功运行valgrind_log_parser.py所需的唯一包在requirements.txt中提到。 使用pip安装这些需求。在

pip install -r requriements.txt

Pip安装

也可以从pip安装valgrind解析器工具。在

^{pr2}$

将包导入为

>>>fromvalgrind_parserimportValgrindLogParser>>>vlp=ValgrindLogParser('/path/to/valgrind_logs.txt')>>>vlp.generate_html_report()

这将把输入valgrind_logs.txt的html报告转储到调用程序的同一目录中。在

克隆回购

Valgrind-Log-Parser也可以通过在本地克隆repo并直接使用python文件来使用。 使用下面的命令克隆repo,并按照下面几节中的说明使用。在

git clone git@github.com:<your username>/Valgrind-Log-Parser.git

如何使用

在test-leaker目录下,test_leaker.c文件存在。此文件存在内存泄漏,并且使用以前未初始化的变量进行条件检查。 当使用valgrind运行时,valgrind报告应该突出这两个方面。在

#include<stdio.h>#include<stdlib.h>intmain(){int*memory_allocation_var=malloc(1000);// Leaked memory which is never freedintconditional_jump_variable_without_initialize;if(conditional_jump_variable_without_initialize>0){// Variable used without initializationprintf("Variable not initialized still using here \n");}return0;}

编译C文件

要在Linux环境下编译c文件,必须使用gcc-g选项,这将启用二进制文件中的调试符号。在

gcc -g test_leaker.c -o test_leaker

编译成功后,从valgrind_website中提到的官方源安装valgrind,并使用test_leaker二进制文件执行。在

valgrind -v --leak-check=full --show-reachable=yes --log-file=valgrind_log.txt ./test_leaker

这将转储valgrind_log.txt中的valgrind日志

使用valgrind_log_parser.py

--help参数有助于理解如何使用这个解析器。在

python valgrind_log_parser.py --help
usage: valgrind_log_parser.py [-h] --valgrind_file VALGRIND_FILE

optional arguments:
  -h, --help            show this help message and exit
  --valgrind_file VALGRIND_FILE
                        Provide the path of the valgrind file. Files must be
                        of .txt format

valgrind_log_parser.py的参数中提供valgrind_log.txt文件,它将在同一目录中用它创建一个HTML报告。在

python valgrind_log_parser.py --valgrind_file <path to valgrind_log.txt file>

下表将使用上述运行生成。 在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript节点js require()和Rhino Shell load()之间的区别是什么?   While循环中的java If语句   java GXT如何在XTemplate中显示treeobject?   如何将黑白图像加载到二进制文件中?   java ORMLite不知道如何存储班级航班。扫描仪。modelFX。机场航空公司的AirlineFx。使用另一个类或自定义持久器   java组织。阿帕奇。德比。客户是SqlException JSP和JSTL查询   spring如何将clob数据分配给java变量   java从上的表获取数据(Spring)   javaphp使用Exec执行带有用户定义参数的Jar文件   java jsonschema2pojo:引用相同类型的对象   使用原语从Scala调用Java vararg方法   java ClassNotFoundException:ClientBuilder Jersey 2.25.1 Tomcat 9.0   Android(Java)cr_BindingManager:无法调用determinedVisibility()从未看到pid的连接:   Java使用LocalTime类比较没有日期的时间   Java如何初始化对象的参数?