問題タブ [ubsan]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - -fsanitize=bounds-strict は GCC 6 の -fsanitize=undefined に含まれていますか?
私は GCC 6 でコンパイルされた C++ ライブラリの問題レポートに取り組んでいます。
- UndefinedBehaviorSanitizer に新しいサニタイズ オプション -fsanitize=bounds-strict が追加されました。これにより、配列境界の厳密なチェックが可能になります。特に、-fsanitize=bounds と、柔軟な配列メンバーのような配列の計測を有効にします。
厳密な境界チェックは に含まれてい-fsanitize=undefined
ますか? -fsanitize=undefined
それともとの両方が必要-fsanitize=bounds-strict
ですか?
c++ - UBSAN が clang または gcc を使用してコンパイルされているかどうかを確認するにはどうすればよいですか?
次のコードを使用して-fsanitize=address
、clang と gcc のコンパイル時に が指定されているかどうかを判断します。が指定されているかどうかをどのように判断し-fsanitize=undefined
ますか?
gcc - ASAN/UBSAN レポート出力の設定方法
単体テスト スイートを実行して、-fsanitize=address,undefined
すべてのサニタイザー エラーをreport.txt
ファイルに書き込みたいと考えています。デフォルトでは、すべてのサニタイザー エラーが stdout に書き込まれますが、ソフトウェアは stdout にも情報を書き込むため、エラーの検出が困難になります。私は試した:
また、テストを実行する前に C API を呼び出してみました。
ただし、どちらも機能していないようで、すべてのエラーが標準出力に書き込まれます。私は Debian テストを使用しています:
単体テストのサニタイザー エラーをどこかに保存できる別の方法はありますか?