AddressSanitizer と MemorySanitizer は非常に便利なツールですが、プログラム全体を適切にインストルメント化する必要があります。(少なくとも、AddressSanitizer の Clang バージョンについては、MemorySanitizer ドキュメントのhereと、 AddressSanitizerClangVsGCCの「グローバルにプライベート エイリアスを使用する」セクションを参照してください。)
つまり、ASan または MSan を有効にするには、すべてのライブラリ依存関係を適切なコンパイラ フラグを使用してビルドする必要があります。さまざまなサードパーティの依存関係を必要とする典型的な Linux アプリケーションの場合、これを行う実際的な方法は何ですか? Sanitizers は明らかに Google プロジェクトであり、Google コードはほとんど独自の monorepo と独自のビルド ツールを使用しているだけの印象を受けますが、これは平均的な開発者の手の届かないところにある可能性があります。多くの余分なインフラストラクチャやビルド スクリプトに投資することなく、Sanitizers を使用してライブラリをビルドする簡単な方法はありますか?