- - PR -
スタックオーバーフローを防ぐ方法について
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-03-11 16:11
スタックオーバーフローというエラーの出方は、たとえば意図的にメソッドを再帰的に無限に呼ぶようなことを試しにやってみた場合と同じ出方なのでしょうか?
それとも、低レベルなところで落ちていて、なんらかのランタイムライブラリーが「スタックオーバーフロー」と言ってくるのでしょうか? 後者ならば、API を呼ぶようなところでメモリーを壊していて、それが後になってエラーとして現れているのかもしれません。 |
|
投稿日時: 2008-03-11 16:17
>>Yamさん
お返事ありがとうございます。 残念ながらその部分は代入のみで、Stringへの変更等は行っておりませんので関係ないと思われます。ためしにConstで固定してみても状況は変わりませんでした。 |
|
投稿日時: 2008-03-11 16:24
>>unibonさん
返信ありがとうございます。 コールスタックのオーバーフローだと思い込んでいます。 20時間に1度しか発生しない上に、Catchできないので・・・ VB2005のスタックオーバーフローの発生はデバッグでしか拾えません。 そのときの発生場所がバラバラですので、コールスタックかな?程度の判断です。 よく調べずに思い込んでいましたが、VBのLOOP文ってもしかして末尾再帰ですかね? GOTO文に置き換えてみようかな・・・ |
|
投稿日時: 2008-03-11 16:31
>>indigo-xさん
ありがとうございます DLLImportは使用してないです。 再帰も無い「ハズ」です。 第三者にも再帰探してもらいましたが、見つかりませんでした。 まずは、コメントアウトを増やして試してみます。 C#に置き換えるのは簡単そうですね。時間があれば試して見ます。 |