Programing

이 Valgrind 경고는 무엇을 의미합니까?

crosscheck 2020. 10. 25. 11:38
반응형

이 Valgrind 경고는 무엇을 의미합니까? -경고 설정 주소 범위 파마


valgrind에 대해 프로그램을 실행할 때 다음 경고가 발생했습니다.

Warning: set address range perms: large range [0x4d59d040, 0x6159d040) (undefined)
Warning: set address range perms: large range [0x194f7030, 0x2d4f7050) (noaccess)
Warning: set address range perms: large range [0x3959d030, 0x6159d050) (noaccess)

일부 인터넷 검색 후 난에서 발견 여기에 그것이라고 Diagnostic message, mostly for benefit of the Valgrind developers, to do with memory permissions많이 말해주지 않는다.

내 프로그램은 힙에 많은 양의 메모리를 할당합니다. (전체 무리 후 2-3GB의 램에 도달 할 수 있음 realloc)

그러나 할당이 실패하지 않았음에도 경고가 표시되었습니다.

그래서이 메시지가 실제로 무엇을 의미하는지 궁금합니다. 나는 어떤 종류의 메모리 권한이 없습니까? (하지만 할당 성공)


특히 큰 메모리 블록에서 권한이 변경되었음을 의미합니다.

이는 호출과 같은 이유로 mprotect또는 매우 큰 메모리 할당 또는 할당 해제가 발생할 때 발생할 수 있습니다 ( : mmap또는 munmap호출).

첫 번째로 나열하는 것은 약 320Mb의 메모리를 설정 undefined하는 것이며, 이는 처음에는 정의되지 않은 것으로 표시되는 새 할당 일 가능성이 가장 높습니다. 다른 것들은 모두 noaccess메모리 할당 해제와 관련된 비슷한 크기의 블록을 설정 하고 있습니다.

참고 URL : https://stackoverflow.com/questions/13558067/what-does-this-valgrind-warning-mean-warning-set-address-range-perms

반응형