Index: head/devel/Makefile =================================================================== --- head/devel/Makefile +++ head/devel/Makefile @@ -1593,6 +1593,7 @@ SUBDIR += mcpp SUBDIR += mdds SUBDIR += mdds0 + SUBDIR += memleax SUBDIR += menhir SUBDIR += mercator SUBDIR += mercurial Index: head/devel/memleax/Makefile =================================================================== --- head/devel/memleax/Makefile +++ head/devel/memleax/Makefile @@ -0,0 +1,34 @@ +# $FreeBSD$ + +PORTNAME= memleax +PORTVERSION= 1.0.2 +DISTVERSIONPREFIX= v +CATEGORIES= devel + +MAINTAINER= guy.tabrar@me.com +COMMENT= Debug memory leaks of running processes + +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/LICENSE + +LIB_DEPENDS= libunwind.so:devel/libunwind +BUILD_DEPENDS= ${LOCALBASE}/lib/libdwarf.a:devel/libdwarf + +ONLY_FOR_ARCHS= amd64 + +USE_GITHUB= yes +GH_ACCOUNT= WuBingzheng + +USES= gmake +HAS_CONFIGURE= yes +CONFIGURE_ARGS= --prefix=${PREFIX} --disable-debug_line +ALL_TARGET= memleax + +PLIST_FILES= bin/memleax \ + man/man1/memleax.1.gz + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/memleax ${STAGEDIR}${PREFIX}/bin + ${INSTALL_MAN} ${WRKSRC}/memleax.1 ${STAGEDIR}${PREFIX}/man/man1 + +.include Index: head/devel/memleax/distinfo =================================================================== --- head/devel/memleax/distinfo +++ head/devel/memleax/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1487098632 +SHA256 (WuBingzheng-memleax-v1.0.2_GH0.tar.gz) = 6a3b2f0b2ee750151bd7605b7f933b51f3776571f06448a77a08df84b37ef0a1 +SIZE (WuBingzheng-memleax-v1.0.2_GH0.tar.gz) = 30160 Index: head/devel/memleax/pkg-descr =================================================================== --- head/devel/memleax/pkg-descr +++ head/devel/memleax/pkg-descr @@ -0,0 +1,11 @@ +Memleax debugs memory leaks of running processes by attaching to them, +without recompiling or restarting. It hooks the target process's invocation +of memory allocation and free and reports the memory blocks which live +long enough as memory leak, in real time. + +It is convenient to use, and suitable for production environments. +There is no need to recompile the program or restart the target process. +You can run memleax to monitor the target process, wait for the real-time +memory leak report, and then kill it with ctrl-c to stop monitoring. + +WWW: https://github.com/WuBingzheng/memleax