Czy ktoś otrzymuje narzędzie do adresowania (znane jako adres asan lub -fsanitize =) działa na iOS?

Sanitizer adresówhttps://code.google.com/p/address-sanitizer/wiki/AddressSanitizer

Skompilowałem swój własny llvm (całkiem proste kompilowanie), ponieważ llvm firmy Apple nie obsługuje tej funkcji.

Przetestowałem program wiersza poleceń clang for mac, działa (ale bez pokazywania linii kodu źródłowego).

w przypadku systemu iOS nadal występują pewne problemy:

skompiluj wersję symulatora: zgłoś błąd dla wstępnie skompilowanego nagłówka:

W pliku zawartym w /Users/fluke/Documents/projects/tmp/testAsanNoARC/testAsanNoARC/testAsanNoARC-Prefix.pch:12: W pliku zawartym w /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/ SDKs / iPhoneSimulator6.1.sdk / System / Library / Frameworks / UIKit.framework / Headers / UIKit.h: 9: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1 .sdk / System / Library / Frameworks / UIKit.framework / Headers / UIAccelerometer.h: 53: 24: error: „UIAccelerometer” jest niedostępny: niedostępny w OS X - przyspieszeniomierz (void): (UIAccelerometer *) akcelerometr didAccelerate :( UIAcceleration *) przyspieszenie NS_DEPRECATED_IOS (2_0, 5_0); ^ /Aplikacje/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccelerometer.h:33:12: note: deklaracja została wyraźnie oznaczona jako niedostępna tutaj @interface UIAccelerometer: NSObject {^ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/System/Library/Frameworks/UIKit.framework /Headers/UIAccelerometer.h:53:71: error: 'UIAcceleration' jest niedostępna: niedostępne na OS X - akcelerometr (void): (UIAccelerometer *) akcelerometr didAccelerate: (UIAcceleration *) przyspieszenie NS_DEPRECATED_IOS (2_0, 5_0); ...

kompiluj dla wersji urządzenia, informuje o braku libarc (ale właściwie nie włączam ARC)

ld: nie znaleziono pliku: /Users/fluke/Documents/tools/asan/Debug+Asserts/lib/arc/libarclite_iphoneos.a clang: error: polecenie linker nie powiodło się z kodem wyjścia 1 (użyj -v, aby zobaczyć wywołanie)

więc próbuję użyć go jako oddzielnego liba - po prostu nowy cel lib i używam własnego clang, podczas gdy główny cel nadal używa llvm Apple'a. program kompiluje (może być konieczne połączenie z asan dylib w wbudowanym llvm), ale nie działa, ponieważ muszę zostać załadowany przed wejściem do programu.

kto ma doświadczenie w robieniu tego?

questionAnswers(2)

yourAnswerToTheQuestion