1

私が制御できないサードパーティ向けのプラグインを構築しています。このプラグインを使用して Xcode 7 で Address Sanitizer を使用したいと考えています。プラグインを正常にコンパイルしてインストールできます。問題は、それが機能していることを証明できないことです。サニタイザーが問題を検出することを確認するために、次のコードを含めています。

int* test = (int*)malloc(sizeof(int));
free(test);
*test = 5;
NSLog(@"%d", *test);

サードパーティのアプリケーションがプラグインをロードすると、予想されるクラッシュは発生せず、5 という数字がログに記録されます。

環境変数を使用してDYLD_PRINT_LIBRARIES_POST_LAUNCH、アドレスサニタイザーランタイムライブラリがロードされたことを証明しましたが、確かに次のとおりでした:

dyld: loaded: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib

メインの実行可能ファイルがプラグインを使用していないときに、この診断ツールをプラグインで動作させる方法はありますか?

4

0 に答える 0