MacOS를위한 Valgrind i7 MacBook Air의 SIerra


1

Valgrind가 내 Mac에서 어떻게 작동합니까? Mac 사양 : 2012 년 중반 11 인치 MacOS Sierra 10.12.5를 지원하는 2GHz i7 MacBook Air FWIW, brew install valgrind Zed Shaw의 "Learn C The Hard Way"에서 이러한 단계뿐 아니라 빌드가 실패합니다. ex4 :

# 1) Download it (use wget if you dont have curl)
curl -O http://valgrind.org/downloads/valgrind-3.12.0.tar.bz2

# use md5sum to make sure it matches the one on the site
md5sum valgrind-3.12.0.tar.bz2

# 2) Unpack it.
tar -xjvf valgrind-3.12.0.tar.bz2

# cd into the newly created directory
cd valgrind-3.12.0

# 3) configure it
./configure

# 4) make it
make

# 5) install it (need root)
sudo make install

Valgrind는 또한 valgrind-3.12.0 / coregrind / m_main.c 줄 4061 파일을 수정 한 후에도 실패합니다.
#if defined(VGO_darwin) && DARWIN_VERS == DARWIN_10_10
에:
#if defined(VGO_darwin)
(per http://valgrind.10908.n7.nabble.com/Unable-to-compile-on-Mac-OS-X-10-11-td57237.html )
... 나는 Valgrind 설치를 완료 할 수있었습니다 (m_main.c를 변경하기 전에 make error'd out)하지만 불행하게도 설치를 확인하기 위해 README 파일에서 권장하는 간단한 테스트가 실패했습니다.

그것이 효과가 있는지보십시오. "valgrind ls -l"을 시도하십시오. 이 방법이 효과가 있거나 폭탄으로 불만을 토로합니다.

불만 사항 :

$  valgrind ls -l
valgrind: mmap-FIXED(0x0, 253952) failed in UME (load_segment1) with error 12 (Cannot allocate memory).

나는 이것이 정확히 무엇을 의미하는지 모르겠다. 누군가가 "complaint"을 파싱하고 macOS Sierra에서 Valgrind를 성공적으로 설치하거나 대안을 얻을 수있는 방법을 제안한다면 도움이 될 것이다.

FWIW : 당 Valgrind의 웹 사이트 발표 :

2016 년 10 월 20 일 : valgrind-3.12.0을 사용할 수 있습니다. 이 릴리스는 X86 / Linux, ARM64 / Linux, ARM64 / Linux, PPC32 / Linux, PPC64BE / Linux, PPC64LE / Linux, S390X / Linux, MIPS32 / Linux, MIPS64 / Linux, ARM / 안드로이드, MIPS32 / 안드로이드, X86 / 안드로이드, X86 / 솔라리스, AMD64 / 솔라리스, X86 / 맥 OSX 10.10 및 AMD64 / 맥 OSX 10.10. 또한 X86 / MacOSX 10.11 / 12 및 AMD64 / MacOSX 10.11 / 12에 대한 예비 지원도 있습니다. 자세한 내용은 릴리즈 노트 .

...과 릴리즈 노트 :

MacOS 10.12 (Sierra)에 대한 예비 지원이 추가되었습니다.


이 솔루션에 따라 : https://stackoverflow.com/a/43431715/5225057 나는 또한 다음을 시도했다.

svn checkout -r 16297 svn://svn.valgrind.org/valgrind/trunk
cd trunk
curl https://bugsfiles.kde.org/attachment.cgi?id=105218 > patch.txt
svn patch patch.txt
./autogen.sh
./configure
make
make install

그리고 왼쪽 :

valgrind: mmap-FIXED(0x0, 253952) failed in UME (load_segment1) with error 12 (Cannot allocate memory).


thiagoveloso 님의 답변 당 업데이트 :

MacPorts Install Success

$  man port
$  port version
Version: 2.4.1
$  sudo port install valgrind
Password:
--->  Computing dependencies for valgrind
--->  Fetching archive for valgrind
--->  Attempting to fetch valgrind-3.12.0_0.darwin_16.x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/valgrind
--->  Attempting to fetch valgrind-3.12.0_0.darwin_16.x86_64.tbz2 from http://lil.fr.packages.macports.org/valgrind
--->  Attempting to fetch valgrind-3.12.0_0.darwin_16.x86_64.tbz2 from https://packages.macports.org/valgrind
--->  Fetching distfiles for valgrind
--->  Attempting to fetch valgrind-3.12.0.tar.bz2 from http://ykf.ca.distfiles.macports.org/MacPorts/mpdistfiles/valgrind
--->  Attempting to fetch valgrind-3.12.0.tar.bz2 from https://distfiles.macports.org/valgrind
--->  Verifying checksums for valgrind                                               
--->  Extracting valgrind
--->  Applying patches to valgrind
--->  Configuring valgrind
--->  Building valgrind
--->  Staging valgrind into destroot
--->  Installing valgrind @3.12.0_0
--->  Activating valgrind @3.12.0_0
--->  Cleaning valgrind
--->  Updating database of binaries
--->  Scanning binaries for linking errors
--->  No broken files found.
$  valgrind --version
valgrind-3.12.0
$  valgrind ls -l
valgrind: mmap-FIXED(0x0, 253952) failed in UME (load_segment1) with error 12 (Cannot allocate memory).

최신 정보:
http://valgrind.org/docs/manual/dist.news.html valgrind 3.13.0은 macOS 10.12에 대한 지원을 향상 시켰습니다 ... 잘하면이 해결책이 될 것입니다.


만나다 stackoverflow.com/questions/40650338/... (힌트 : $ brew install valgrind 지금 일해야한다)
rogerdpack

답변:


1

Homebrew에 붙어 있습니까? 그렇지 않으면 설치가 가능합니다. 맥 포트 다음을 입력하십시오.

$ sudo port install valgrind

MacOS 10.12에 대한 "예비"지원이 버전 3.12.0에 추가되었습니다. Valgrind.org


제안 해 주셔서 감사합니다. Macport를 사용한 적이 없습니다. 당신은 Macports 설치가 작동합니까? valgrind 시에라에요?
Mr. Kennedy

네 저도 그렇습니다. 시에라 10.12.5에서 2012 년형 13 형 MacBook Pro를 설치하고 잘 작동합니다.
thiagoveloso

예뻐 - 고마워! 내가 내 lappy 앞에 다시있을 때 그것을 줄 것이다 :)
Mr. Kennedy

내 편집을 참조하십시오. 설치가 성공적 이었지만 valgrind가 작동하지 않습니다.
Mr. Kennedy

네 문제를 재현 할 수 있습니다. 분명히 현재 지원되는 아주 소수의 응용 프로그램에있는 것으로 보이기 때문에 Sierra의 Valgrind를 사용하여 김프 오류를 디버깅하는 것은 매우 운이 좋았다. Valgrind의 저술가 인 Louis Brunner의 다음 의견을 참조하십시오. bugs.kde.org/show_bug.cgi?id=365327#c12 . Valgrind가 시에라에게 괜찮은가 아니면 대안을 찾을 때까지 조금 더 기다려야 할 것 같네요. 아마도 Instruments?
thiagoveloso

0

2017 년 6 월 15 일 valgrind 3.13.0이 출시되어 macOS Sierra (10.12.5)에서 valgrind를 설치하고 사용할 수있게되었습니다. 기본 사례로서, 나는 매우 기본적인 valgrind ls -l. 저는 ZS의 LCTHW에서 연습을 마치면서 valgrind의이 빌드를 계속 평가할 것입니다.

참고로, 나는 함께 설치했다. 자작 나무 설치를 아직 (아직) 테스트하지 않았습니다. 맥 포트 또는 curl 다운로드, md5 체크섬, tar 포장 풀기, ./configure, makemake install.

http://valgrind.org/docs/manual/dist.news.html :

릴리스 3.13.0 (2017 년 6 월 15 일)   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3.13.0은 많은 개선 된 기능 릴리스이며 일반적인 버그 수정 모음입니다.

이 릴리스는 X86 / Linux, AMD64 / Linux, ARM32 / Linux, ARM64 / Linux,   PPC64 / Linux, PPC64BE / Linux, PPC64LE / Linux, S390X / Linux, MIPS32 / Linux,   MIPS64 / Linux, ARM / Android, ARM64 / Android, MIPS32 / Android, X86 / Android,   X86 / Solaris, AMD64 / Solaris 및 AMD64 / MacOSX 10.12.


최신 정보 Valgrind는 macOS High Sierra (10.13.3까지)에서 지금까지 지원되지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.