ホーム > ユーザーサポート > FAQ カバレッジマスターwinAMS

FAQ / カバレッジマスターwinAMS

シミュレータ実行に関する問題

452_03 : テスト実行時に、「テストデータとして記述された文字列または数値列の長さが配列の大きさを超えています」のエラーが出ますが、この様なデータ設定は行っていません。なぜでしょうか?

【質問】
カバレッジマスターでテスト実行のためにシミュレータ起動ボタンを押すと、テスト実行時に、「テストデータとして記述された文字列または数値列の長さが配列の大きさを超えています」のエラーが出ます。変数の指定に「文字列・数値列設定」を使用していますが、配列の大きさを超えたデータを設定している箇所はありません。原因は何でしょうか?


【回答】
これは、char型(またはunsigned char型)の配列を「文字列・数値列設定」のオプションで「出力変数」に指定している場合に出ることがあります。char型(またはunsigned char型)の配列が出力に指定された場合、デフォルトではこの変数を文字列として扱い、文字列の終端であるnull文字(0)が見つかるまで、出力結果に書き出します。この際に、配列のサイズ内にnull文字のデータが無い場合には、配列サイズを超えたところまでアクセスしてしまうため、今回のようなエラーが発生します。

回避する方法は2つあります。

(方法1)「テスト設定」ビューの右下にある「詳細設定...」ボタンをクリックして、「詳細設定」ダイアログを表示します。ここで、「期待値省略時の操作」の「char型の数値列:」について、「数値列表示」を選択してOKボタンをクリックします。これにより、char型(またはunsigned char型)の配列を数値として出力します。

(方法2)期待値欄に 「|*」と記述して、数値列として出力することを明示します。


関連サポート情報検索

【サポート情報サイト内Google検索】

検索キーワード: 文字列・数値列 | 配列の大きさ

他のキーワード検索

 


参考情報・リンク