1

gdb でブレークポイントを使用せずに ex: array 値をログファイルに記録することは可能ですか?

私はこれを使用しました:

set logging on some_file
b func
command 1
p print_clock_cycles    
c
end

目的: gdb を介してクロック サイクルの値をファイルに記録します。ロギングは無限になる可能性があるため、既存のメモリを使用できません。

私の問題:レジスタを読み取ってクロックサイクルを出力している場合、上記のスクリプトで出力すると、ブレークポイントがない場合と比較して値が異なります(メモリの制約のために使用したくない他の方法で読み取る)。クロック サイクルに影響を与えるブレーク ポイントがある場合、gdb が出力するのにさらに時間がかかると想定しています。ex jtag 用のデバッガーは他にありません。

値をログに記録できる他の手段はありますか?

ありがとう

4

1 に答える 1

0

利用可能なシリアルポートはありますか? 組み込みプラットフォームで開発する場合、これはデバッグ情報を保存する良い方法です。

シリアルポートを管理する関数を書きました。私の「印刷」関数は文字列データをバッファにキューに入れ、シリアル ISR はバッファからデータを排出します。シリアル ポートが十分な速さでバッファを排出できる限り、バッファがいっぱいになることはありません。

于 2012-06-15T06:40:05.963 に答える