3

まず、JTAG ハードウェア デバッガーを持っていません。

私が持っているもの:

Freebsd および GNU/Linux ディストリビューションを使用して、コンソールと私のコンピューターに接続するための Pandaboard とシリアル USB ケーブル。

私が探しているもの-FreeBSDカーネル内のブートプロセスをトレース/デバッグする便利な方法(私は主にこのフラグメントに興味があります: https://github.com/freebsd/freebsd/blob/master/sys/arm/arm/locore -v6.Sおよびhttps://github.com/freebsd/freebsd/blob/master/sys/arm/arm/mp_macdep.c私としては、これらのファイルを変更します)。

4

1 に答える 1

1

私の経験に基づいて、いくつかの方法があります。

  • KDB / DDB: 呼び出し kdb_enter("A", "XYZ") を追加して、処理を停止し、シリアル経由で DDB の対話型デバッグ モードに入ります。
  • マシン依存 (mach_dep) コードの printf-s
  • マシンに依存しないコードの bootverbose、BUSDEBUG、VERBOSE_SYSINIT

また、DDB コードには、レジスタ、スタック トレースなどを出力する関数が含まれていることにも言及する価値があります。

于 2016-05-30T12:00:48.317 に答える