sprintfの引数に関して

RL78G14でプログラムを作成中、マイコンが動作異常(リセットがかかったようなな感じ?)になるときがあり調査したところ、以下のコードが原因であることがわかりました。

#include "stdio.h"

char title[] = "xxxxxx";     // 何らかの文字列指定

char debug_send[128];

main(){

   sprintf(debug_send,"%s",title);     // このコードが原因でたまにマイコン動作が異常になる

    ....

}

もともとがtitleからdebug_sendへ文字列に変換し格納することが目的だったため、strcpyと入れ替えたところ現象は発生しなくなりました。

E2 Liteでデバッグしているのですが、デバッグ中は発生せず、ROMに書き込んだ後たまに発生することから内部でどのようなことになっているかはっきりしていません。

 

同じような現象、および、明確にこのコードが悪いという情報はありますでしょうか?

ビルドバージョン 1.06.00/1.08.00

最適化レベルはデバッグ優先

Parents Reply Children