Programing

이 Valgrind 경고의 의미는? - 경고 설정 주소 범위(Perms

c10106 2022. 4. 17. 12:33
반응형

이 Valgrind 경고의 의미는? - 경고 설정 주소 범위(Perms

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)

몇 번 구글링을 한 후에 나는 여기서 그것이 a라는 것을 알았다.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

반응형