デバッグ時に苦悩、懊悩するのが、メモリ破壊系。
SIGSEGV で core を吐かせる前にやっておくべき設定のメモ。
この記事に何度助けられたことか。
参考: メモリ破壊の現場を見つけるTips - nariのぶろぐ
プログラム実行時のアドレスを固定。
これやったあとも原因の特定に時間がかかってしまうんだが…。
ASLR とか、この記事読んで初めて知った。
# echo 0 > /proc/sys/kernel/randomize_va_space
あと、バッファオーバーフロー系は、gcc のコンパイルオプション (下記) で対応。
参考: IPA ISEC セキュア・プログラミング講座:C/C++言語編 第10章 著名な脆弱性対策:バッファオーバーフロー: #5 運用環境における防御
-fstack-protector-all
● Linux, プログラム, 実行, program, run, アドレス, address, 固定, fix, randomize_va_space, デバッグ, debug, メモリ, 破壊, memory
0 件のコメント:
コメントを投稿