2016-09-28 6 views
1

ウィンドウでは、VCコンパイラは関数呼び出しの最後に_chkesp暗黙の関数を持つデバッグバージョンコードを生成し、スタックに0xCCCCCCCCバッファをいくつか割り当ててスタックの破損をチェックして防止します。linux gcc/clangはスタックバランスをチェックするためのデバッグコードを生成しますか?

gcc/clangには、いくつかのコマンドラインオプションで追加のスタックチェック/防止機能を提供するのと同じ機能がありますか?追加のスタックスペースまたはスタックチェック?

ありがとうございます!

答えて

1

GCCは、-fstack-protectorおよび-fstack-protector-alloptionsをサポートします。両方ともデバッグではなくセキュリティ強化に向いていることに注意してください。代わりに、 GCC/CLANG address sanitizer(ASAN)オプション(minimal example)またはValgrindminimal example)を使用することを検討してください。

関連する問題