« [Ruby] Ruby Setup 5 (setup.rb) | トップページ | [Ruby] Win32OLE のメモリーリーク その2 »

2010年1月16日 (土)

[Ruby] Win32OLE のメモリーリーク

ruby-talk:355014 の話。


これから、ちょっと調べてみようと思うのだが、厄介なのが、完全に同じ現象を再現できる
スクリプトを提供してもらえないということ。


Unfortunately this application is not available to the general public so I
can't provide a script for someone to independently verify this. :(

とのことなので、こちらでメモリーリークが発生するスクリプトを作り出さないといけない。


特定しづらいのだが、考えられるのは、



  1. on_event でメモリーリーク

  2. on_event のブロック引数が WIN32OLE オブジェクトである場合にメモリーリーク

  3. on_event のブロック引数が WIN32OLE オブジェクトでかつVT_ARRAYである場合にメモリーリーク

  4. 単純に VT_ARRAY を扱うときのメモリーリーク

  5. 参照カウンタのデクリメント忘れ(IDispatch::Release の呼び忘れ)

  6. それ以外のWin32OLE側のどこかでメモリーリーク


あたりかな。


再現するスクリプトが簡単にできるといいんだけどな。

|

« [Ruby] Ruby Setup 5 (setup.rb) | トップページ | [Ruby] Win32OLE のメモリーリーク その2 »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: [Ruby] Win32OLE のメモリーリーク:

« [Ruby] Ruby Setup 5 (setup.rb) | トップページ | [Ruby] Win32OLE のメモリーリーク その2 »