工具 | Valgrind + KCacheGrind,应用程序检查分析利器

作者:jcmp      发布时间:2021-04-16      浏览量:0
一、1 Valgrind & KCach

一、1 Valgrind & KCacheGrind 简介

1.1 Valgrind

更多信息,请到 Valgrind官方网址 了解。

1.2 KCacheGrind

更多信息,请到 KCacheGrind官方网址 了解。

二、2 工具安装

笔者开发环境在XUbuntu系统里,通过包管理器安装工具非常方便。

sudo apt install valgrind kcachegrind。

三、3 应用程序错误检查

program main implicit none integer,allocatable :: a(:) a = [1,2,3,4,5] write(*,*) a(6)end program main。

gfortran -g -O0 main.f90 # 生成调试信息,不优化可以获得更好的检测结果。

valgrind --tool=memcheck --leak-check=full --log-file=memchk.log ./a.out。

黑体部分是检查出的错误内容(虽然这段代码本身运行没有问题,但是新规范加入的内容使用起来容易出错)。

四、4 应用程序分析(代码分析、性能分析等)

module myFun implicit none contains subroutine sub( a ) integer :: a(:) a = 100 end subroutine sub end module program main use myFun implicit none integer,allocatable :: a(:) allocate( a(5) ) a = 0 call sub( a ) write(*,*) a deallocate(a)end program main。

valgrind --tool=callgrind -v ./a.out。

五、祝各位读者0 Error(s) 0 Warning(s)