2014-01-15 41 views
2

我想使用clang的-fsanitize = address特性。使用命令行叮噹聲,OS X 10.9.1,Xcode 5.0.2

我在:

OS X 10.9.1 with Xcode 5.0.2 
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn) 

我在命令行中運行鐺,而我得到的錯誤:

clang: error: unsupported argument 'address' to option 'fsanitize=' 

有人告訴我這個工作,但搜索周圍沒有給我指路;我是否需要引入不同版本的clang?

謝謝!

回答

2

OS X的開箱即用版本clang未實現對Address Sanitizer的支持。您將不得不從源中構建自己的clang版本。

+0

更新:Xcode 7現在包含asan – HelloWorld

1

你需要一個不同於一個蘋果給你的版本。最簡單的方式來獲得一個(或多個)是安裝自制http://brew.sh 然後

brew install llvm --with-asan 

你也可以從http://llvm.org/releases/download.htm嘗試預建的叮噹聲。
這絕不是不可能的手工構建鐺,但最後我檢查它確實需要多個簽出來獲取源代碼樹。其他選項應該在幾分鐘之內完成。

+0

更新:Apple的Xcode開始帶有啓用Address-Sanitizer的clang構建。 –