出沢です
/dsk1a/home-sys/dezawa/bin/wmrflow:125: [BUG] Segmentation fault
Abort (core dumped)
こんなんなっちゃうんです。
かなり原因は入り組んで居るようで、喰わせるデータに依存します。
この部分だけ抜き取ると、次のような BUG 入りのプログラムソース
LET LOZW_sOKMsg (FIX_MESG(CATGETS LOZW_sCatName LOZW_iMsgID (LOZW_sCatName + STR LOZW_iMsgID + '[' + '{1} + ']' + '[' + '{2}' + ']')) LOZW_sMsgStr1 LOZW_sMsgStr2)
というのを喰った後で発生します。
たぶん、
'{1} + ']' の '{1} の ' が正しく終了していないので
'{1} + ' と理解し、その後夫婦交換しながら 最後の
]')) LOZW_sMsgStr1 LOZW_sMsgStr2)
のヤモメの相手を探しにひたすら @line += file.gets を続けてそのうち
こけたのでしょう。
10207 byte でこけず、10308 でこけます。
質問1
これはトラップできますか? 可能なら処理終了最後の行番号を
表示してこけたい。
質問2
debug 用に print を入れようと思ったのですが、class のmethod の
中で使うと
wmrflow:92:in `print': not opened for writing
と言われる事があります。例えば
class Read_FILE <File
def addLine
if bufline=@file.gets()
print bufline,"\n"
@CurNr = @CurNr + 1
どうしてでしょう?