ROMデバッグ

(experimental)

先日パープカ言っていたネタの続き.

CDT3.1系のGDB/MIサポートは,かなり奥深い場所で,必ず-target-downloadコマンドを発行するような手筈になっている.
同3.1.2では,裁量の余地を与えるよう検討を行った形跡がある.
経緯は知らないけれど,たぶんZylinやDSDP辺りからフィードバックがあったのではないかと想像できる*1

追加機能

さて,PizzaFactory3の独自性を保ち,かつCDT4.0対応で酷い目に遭わず,かつ組込み屋さんからの要望に応えられる修正として考えられる手当てを行った.
今日の一枚は,そのスクリーンショット
デバッガーオプションに,ダウンロードというタブを加え,「Download binaries to the target.」というチェックを加えた.「(experimental)」というのが,いかにも自信なさげ.従来からのアップデートの場合は,このチェックはonになる(はず).

ソースを読む人への情報

GDB は,コマンドラインでローダブルバイナリを指定したとき,自動的にシンボルを読む,らしい.
"らしい"と歯切れが悪いのは,GDBのマニュアルに明記を見つけられなかったため.
ターゲットコマンド発行後,シンボルファイルのロードをせずに,いきなり「break main」などシンボルを指定するコマンドが発行できるため,現象的にはシンボルを読んでいると理解して間違い無いだろう.

保守的な態度を取るならば,-add-symbol-file などすべきなのかもしれないが,ヘタなことをして副作用が出るのも嫌なので,単に -target-download の実行をパスするようにした.

一応,MIのコマンドトレースも行い,十分なデバッグはしたつもり,手元の環境では,問題なく動いている.

*1:セルフ環境で,このような変更を行う必要性はたぶん無いので.