...
- Valgrind는 동적 분석 도구를 구축하기위한 계측 프레임 워크(instrumentation framework)입니다.
- Valgrind를 이용해 자동으로 많은 메모리 관리 및 스레딩 버그를 감지하고 프로그램을 자세하게 분석 할 수있습니다.
- Valgrind를 이용해 새로운 도구를 만들 수도 있습니다.
- Valgrind를 이용해 자동으로 많은 메모리 관리 및 스레딩 버그를 감지하고 프로그램을 자세하게 분석 할 수있습니다.
- Valgrind는 동적 바이너리 계측을 사용하므로 응용 프로그램을 수정, 재컴파일하거나 다시 연결할 필요가 없습니다.
- 명령 줄에 valgrind를 붙이면 모든 것이 작동합니다.
- 명령 줄에 valgrind를 붙이면 모든 것이 작동합니다.
- Valgrind는 C, C ++, Java, Perl, Python, 어셈블리 코드, Fortran, Ada 및 기타 여러 언어로 작성된 프로그램에서 사용됩니다.
- Valgrind 도구는 주로 C 및 C ++로 작성된 프로그램을 대상으로 합니다
- Valgrind 도구는 주로 C 및 C ++로 작성된 프로그램을 대상으로 합니다
- Valgrind 배포판에는 6개의 품질 도구 테스트 도구가 포함되어 있습니다.
- 메모리 에러 검출기
- 2개의 스레드 에러 검출기
- 캐시 및 분기 예측 프로파일러
- 콜 그래프 생성 캐시
- 분기 예측 프로파일러
- 힙 프로파일러
- Valgrind는 세 가지 실험 도구가 포합되어 있습니다.
- 스택 및 전역 배열의 Overrun 검출기
- 힙 블록 사용 방법을 검사하는 second heap profiler
- SimPoint 기본 블록 벡터 생성기
- Valgrind는 다음과 같은 플랫폼에서 실행됩니다.
- X86/Linux, AMD64/Linux, ARM/Linux, ARM64/Linux, PPC32/Linux, PPC64/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux, MIPS64/Linux, X86/Solaris, AMD64/Solaris, ARM/Android (2.3.x and later), ARM64/Android, X86/Android (4.0 and later), MIPS32/Android, X86/Darwin and AMD64/Darwin (Mac OS X 10.12).
Valgrind Tools
Memcheck
- Memcheck는 C, C++ 프로그램에서 메모리 관리 문제를 탐지합니다.
- Memcheck는 프로그램이 실행되면 메모리의 모든 읽기와 쓰기가 검사 되고 malloc / new / delete에 대한 호출이 인터셉트됩니다.
- Memcheck는 다음과 같은 내용을 탐지 할 수 있습니다.
- 불필요한 메모리 엑세스
- 할당되지 않은 영역
- 해제된 영역
- 스택 블록의 끝 부분
- 액세스 할 수 없는 영역
- 초기화 되지 않은 값 사용
- 메모리 누수
- Heap 블록의 잘못된 해제
- Double free
- mismatched free
- 불필요한 메모리 엑세스
- Memcheck는 오류가 발생하면 즉시 오류를 보고하고 오류가 발생한 영역에 대한 스택 추적 정보를 제공합니다.
- Memcheck는 바이트 수준에서 주소 지정 가능성을 추적하고 비트 수준에서 값을 초기화합니다.
- Memcheck는 프로그램을 정상 속도보다 느린 약 10~30배 속도로 실행합니다Valgrind - Memcheck
SGCheck
- SGCheck는 스택 및 전역 배열 오버런을 찾기 위한 도구입니다.
- SGCheck는 스택 및 전역 배열 액세스의 가능한 형태에 대한 관찰에서 파생 된 경험적 접근법을 사용하여 작동합니다.
...