よくある質問(FAQ)

インライン展開された関数やマクロ定義された関数のスタブ関数が作成できません。どのようにすれば作成できますか?

スタブ関数について

質問

#pragmaやinlineキーワードによってインライン展開される関数や、マクロ定義された関数のスタブ関数を作成しようとしていますが、これらの関数名が、スタブ作成の関数リストに表示されません。どのようにすれば、スタブを作成できますか?

回答

カバレッジマスターでスタブ関数を作成するには、対象の関数がデバッグ情報関数シンボルを持つ関数オブジェクトとしてコード化されている必要があります。そのため、対象の関数がインライン展開される設定になっていたり、マクロとして定義されていたりする場合は、そのままではスタブを作成できません。この問題を回避するには、元のオブジェクト構造からは一時的に変更されてしまいますが、インライン展開の指定やマクロ定義の形式を外した上で再コンパイルを実行し、通常の関数としてツールに認識させる必要があります。