よくある質問(FAQ)

アセンブリ言語で記述された関数のスタブ関数を生成することはできますか?

スタブ関数について

質問

C言語から呼ばれているグローバル関数として、アセンブリ言語で記述された関数があります。カバレッジマスターのスタブ関数生成機能を用い、このアセンブリ言語で記述された関数のスタブ関数を生成してテストに使用することはできますか?

回答

カバレッジマスターのスタブ作成機能を利用するには、対象がC言語の関数である必要があります。アセンブラで記述された関数の場合、デバッグ情報に含まれる関数シンボルの形式がC言語とは異なるため、そのままではスタブを作成することができません。

回避方法としては、対象のアセンブラ関数をリンク対象から外し、代わりに同一のAPI(関数名・引数・戻り値)を持つC言語のダミー関数を作成し、ビルド(コンパイル・リンク)を行ってください。

この対応により、スタブ関数作成画面に該当関数のシンボルが表示されるようになり、通常のC言語関数と同様の手順でスタブを作成することが可能になります。