헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤헤
2010년 3월 26일 금요일
Microsoft Application Verifier
http://www.microsoft.com/downloads/details.aspx?familyid=c4a25ab9-649d-4a1b-b4a7-c9d8b095df18&displaylang=en
이런게 있었네.
valgrind 정도의 기능을 원하는데.. 일단 함 써보자.
사용법은 http://msdn.microsoft.com/en-us/library/aa480483.aspx 또는 그냥 appverif.exe 실행
당연히 valgrind 만큼 편하진 않은데 로우리소스 테스트등 재미난게 보인다.
추가.
으음...
그닥 맘에 드는 툴은 아니네.
그래도 기억해두자.
추가
http://stackoverflow.com/questions/413477/is-there-a-good-valgrind-substitute-for-windows
도 적어둔다. 주로 상용툴 야그라 나랑 무관하지만.
google perftools 로 heap 만이라도 체크해볼까? 흠
2009년 4월 14일 화요일
google perftools
http://code.google.com/p/google-perftools/
지금은 리눅스만 써서 valgrind 면 충분한데 혹시나 나중에 다시 윈도개발자로 돌아간다던가 할경우 진단툴로 써먹어보자. 본래 목적인 malloc 대용으로 쓸일은.. 아마도 없을듯. 아무래도 컴파일러가 제공하는 기본 malloc 이 더 검증이 잘 됐겠지?
달랑 링크만 적기 뭐해서 사용법이나 익혀보자 했는데 워낙 간단하니 그럴것도 없네.
기존 프로그램에 바로 적용해서 돌려보니 잘 돌아간다.
지금은 리눅스만 써서 valgrind 면 충분한데 혹시나 나중에 다시 윈도개발자로 돌아간다던가 할경우 진단툴로 써먹어보자. 본래 목적인 malloc 대용으로 쓸일은.. 아마도 없을듯. 아무래도 컴파일러가 제공하는 기본 malloc 이 더 검증이 잘 됐겠지?
달랑 링크만 적기 뭐해서 사용법이나 익혀보자 했는데 워낙 간단하니 그럴것도 없네.
기존 프로그램에 바로 적용해서 돌려보니 잘 돌아간다.
2008년 9월 26일 금요일
cmake 사용시 add_test 로 추가한 테스트 케이스에 대해서 valgrind(윈도라면 purify) 등으로 메모리 릭 검사를 하는 방법
- http://www.cmake.org/Wiki/CMake_Testing_With_CTest 참고. 윈도 환경이라면 퓨리파이를 지원하는듯헌데 퓨리파이는 상용이라서....
ctest 의 기능중에 valgrind 로 테스트해주는 기능이 들어있네.
간단히 테스트 해보고 적어둔다. 대시보드 기능은 아직 안땡기는데..
꼴을 보니 곧 써봐야할것 같다.
어쨌건.. CMakeLists.txt 예제(일부분만)..
# CTest 를 인클루드하는것 잊지말자
include(CTest)
enable_testing()
# MEMORYCHECK_COMMAND 로 valgrind path 지정.
# 그외 기억해둘만한 변수로는
# MEMORYCHECK_COMMAND_OPTIONS
# MEMORYCHECK_SUPPRESSIONS_FILE
# 정도가 있다.
# 그냥 valgrind 를 쓰는 경우라면 딱히 지정안해도 되더라.
set(MEMORYCHECK_COMMAND valgrind)
# enable_testing, add_test 콤보는 지금까지 계속 써오던것.
# 이렇게 추가된 테스트케이스들을 대상으로 멤체크를 하려면
# ctest -T memcheck 명령을 주면 된다.
add_test(test_simple_decoding test_simple_decoding)
add_test(test_simple_encoding test_simple_encoding)
뭐 별거 없다. 내 개발환경이야 보통 리눅스일테니 valgrind 세팅은 생략해도 되고.. 그럼 남는건 기존 내가 즐겨 쓰던 세팅에 include(CTest) 가 추가된다는것 하나뿐이다.
위 테스트에 대해서 메모리 체크를 시행할때는 커맨드라인에서 ctest -T memcheck 를 때려준다. 모든 케이스에 대해서 메모리 체크가 이루어지고 마지막에 leak 이 있었던 케이스가 몇개인지 알려준다.
예를들어 내가 두개의 테스트를 가지고 있는데 모두 릭이 있을경우 요런 결과가 나온다.

그리고 릭을 잡고 났더니 요런 결과가 나온다. 결과가 눈에 잘 안들어 오는군.

추가.
make 에 NightlyMemCheck 란 타겟이 생겼는데 이게 위와 동일한듯. CTest 를 include 해서 그런지 못보던 타겟이 많이 보이는군....
피드 구독하기:
글 (Atom)