デバッグとは?でばっぐ
デバッグとは、不具合の原因を特定して取り除く作業で、組込みでは再現させること自体が仕事の大半を占める。止められない制御対象ではブレークポイントで停めた瞬間に現象が消えるため、トレース、実行時ログ、GPIOトグルとオシロによる時間計測といった非侵入の手段を組み合わせる。観測が対象の挙動を変えるプローブ効果は常に前提に置く。
最終更新:2026-10-06
この語が出る過去問を解く →背景
PC上のアプリケーションなら止めて中を覗けばよいが、モータが回り機構が動いている最中に止めれば、対象そのものが壊れるか、狙った現象がそもそも起きなくなる。しかも不具合は割込みと通信のタイミングが特定の順序で重なったときにだけ現れる。この止められない・再現しないという条件が、組込みのデバッグを専用のハードウェアと計測手段に頼らせている。シラバスもデバッグツールを含むテスト環境の構築を独立した項目に立てている。
具体例
Segger J‑LinkやLauterbach TRACE32はJTAG/SWD経由の停止・ステップ実行に加え、Arm CoreSightのETMトレースで実行履歴を後追いできる。処理時間の実測はGPIOを立ててオシロで幅を見るのが確実で、割込み応答のジッタもこの方法で数値化する。
試験での引っ掛け
テストとの区別が問われる——誤りの有無を確かめるのがテスト、見つかった誤りの原因を突き止めて直すのがデバッグ。またprintfによる出力は実行時間を大きく変えるため、タイミング起因の不具合ではその行を入れた途端に再現しなくなる(ハイゼンバグ)。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成30年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問4(IPA)解説で登場
JTAG(IEEE 1149.1)の説明として、適切なものはどれか。
正解:バウンダリスキャンテストの標準方式
要点:JTAGはバウンダリスキャンテストの標準インタフェース規格
JTAG(IEEE 1149.1)は、LSIの各入出力ピンの内側にバウンダリスキャンセルと呼ばれるレジスタを並べ、TDI/TDO/TCK/TMSの少数の信号でシフトレジスタとして直列に読み書きする規格である。これにより、基板に実装した後でもピンの値を外部から設定・観測でき、はんだ付け不良や配線の断線・短絡を検査できる。現在ではデバッグ用インタフェースとしても広く使われている。
出典:令和2年度 10月試験 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問19(IPA)
マイコンのJTAGを利用したデバッグ手法の説明として、適切なものはどれか。
正解:マイコンの端子を通して、外部からマイコン内蔵のデバッグ支援機能を操作し、デバッグを行う。
要点:JTAGデバッグはチップ内蔵のデバッグ機能を外部から操作する
近年のマイコンは、CPUの停止・再開、レジスタやメモリの読み書き、ブレークポイント設定といったデバッグ支援機能をチップ内部に内蔵している。JTAG方式のデバッグでは、専用の端子を通して外部のデバッガからこの内蔵機能を操作するため、実機のプログラムをそのまま動かしながら解析できる。CPUを別の装置に置き換えるインサーキットエミュレータやROMを置き換える方式とは異なり、実装したままの状態で調べられるのが利点である。
出典:令和6年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問18(IPA)
組込みソフトウェア開発のデバッグツールに関する説明のうち、適切なものはどれか。
正解:オシロスコープは、信号の波形を見ることができるので、タイミングの検証やリアルタイム性の検証に用いることができる。
要点:オシロは波形を見てタイミングと実時間性を検証できる
オシロスコープは信号の電圧波形を時間軸に沿って観測する測定器で、パルスの幅や立上り時間、信号どうしの時間関係を実時間で確認できる。割込み応答までの遅れや周期処理の揺らぎといった、実行を止めては測れないリアルタイム性の検証に適している。
出典:令和7年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問24(IPA)解説で登場
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。