VisualBasic2005を勉強している者です。サイズの大きなテキスト処理をしていると、System.OutOfMemoryExceptionが出ます。そこで各変数のサイズが知りたいのですが、全ての変数のサイズを、実行しながらウォッチすることはできないでしょうか。

回答の条件
  • 1人2回まで
  • 登録:2006/10/18 21:42:52
  • 終了:2006/10/25 21:45:03

回答(1件)

id:KirakiraHikaru No.1

KirakiraHikaru回答回数354ベストアンサー獲得回数682006/10/22 17:02:23

ポイント60pt

変数自体の最大サイズは下記のとおりです。

http://santamartadotnet.hp.infoseek.co.jp/documents/vbdotnetbasi...


ですが、マシンの搭載メモリや.NetFrameworkの仕様などで制限が出てくることがあると思います。


サイズの大きなテキストを処理する場合は、一括で読み込むのではなく一行ごとに読み込むなど分割して取得すると問題が発生しにくいと思います。

http://hanatyan.sakura.ne.jp/dotnet/fileio01.htm

また、読み込む前に使用しなくなった変数を強制的に解放するために必要ない変数にNothingを設定してからGC.Collect()を実行するようにすると改善できるかもしれません。

http://www.atmarkit.co.jp/fdotnet/dotnettips/021gc/gc.html


それでもダメな場合は、必要な分を読み込んで処理し、一時的にファイルに書き出すなどする必要があるかもしません。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=30540&am...

id:crashtruck

ありがとうございます。大変参考になります。

2006/10/23 09:49:27

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません