GDBでローカル変数が見えない話と、最適化の正しい付き合い方

こんにちは。スーパーソフトウエア東京オフィス 技術部の加藤です。

先日、組み込みソフトウェアの単体試験で GDB を使ってデバッグをしていた際、ローカル変数を確認しようとしたところ、変数名に続けて <optimized out> と表示されてしまい、値の参照も変更もできない状況に陥りました。

最初は GDB の設定を疑いましたが、原因はまさかのコンパイラ最適化。この最適化を外すまでローカル変数が見えず、デバッグに大きく時間を取られてしまいました。

今回は、私が直面したトラブルをご紹介するとともに、最適化とは何かGDB でデバッグするときになぜ邪魔になるのか、そしてどうすべきかをまとめてみました。

 

本記事の続きはこちらをご覧ください
https://note.com/ssltokyo_tech/n/na4681e707b27

スーパーソフトウエアの採用情報

あなたが活躍できるフィールドと充実した育成環境があります

blank
blank