이 글에서는 valgrind로 메모리 오류를 더 상세히 알아보는 법에 대해서 설명합니다.
valgrind 메모리 오류 상세히 보기
Valgrind의 memcheck 도구는 기본적으로 대부분의 메모리 오류를 자동으로 감지합니다. 그러나 일부 상황에선 접근 오류를 감지하지 못할 수도 있습니다. 이러한 경우에는 다음과 같은 옵션 중 하나 이상을 사용하여 검사 정확도를 높일 수 있습니다:
--track-origins=yes:
이 옵션은 메모리 오류의 원인을 추적하도록 지시합니다. 메모리를 초기화하지 않고 읽기를 시도한 경우 원인을 추적할 수 있습니다. 기본적으로 이 기능은 비활성화되어 있습니다.
$ valgrind --tool=memcheck --track-origins=yes your_program
--keep-stacktraces=alloc-and-free:
이 옵션은 할당과 해제 모두에 대한 스택 추적을 유지하도록 지시합니다. 이렇게 하면 free된 메모리에 대한 접근도 추적이 가능할 수 있습니다.
$ valgrind --tool=memcheck --keep-stacktraces=alloc-and-free your_program
--freelist-vol=VALUE:
이 옵션은 해제된 메모리 블록 목록의 최대 크기를 제어합니다. 이 값을 높게 설정하면 해제된 메모리 블록을 더 오래 유지하므로 오류 감지 가능성을 높일 수 있습니다. 기본값은 20,000,000입니다.
$ valgrind --tool=memcheck --freelist-vol=100000000 your_program
'IT' 카테고리의 다른 글
구글 코랩에서 스테이블 디퓨전 실행하고 접속하기 (1) | 2024.01.27 |
---|---|
github private repository clone에러 시 문제 해결하기 (0) | 2024.01.27 |
리눅스에서 NetEm(Network Emulator)를 사용하여 Traffic Control(패킷 지연,유실,대역폭 제한등)하고 테스트 하는 방법 (0) | 2024.01.25 |
파이썬(python)으로 MariaDB(MySQL) DBMS 성능 측정하는 법 - py-tpcc로 tpcc 테스트 하기 (0) | 2024.01.25 |
가정집 컴퓨터(PC) 도메인 연결하기 - 공유기 포트 포워딩 | netis wf2710 | 집에있는 노트북 서버 만들기 (0) | 2024.01.25 |