memocon プログラミングのメモや物欲日記、雑記等

wordpressのプラグインで警告

2011年08月29日 11時01分

“Notice: has_cap の使用はバージョン 2.0 から非推奨になりました ! 代わりに プラグインやテーマでのユーザーレベルの使用は推奨されていません。代わりに権限グループと権限を使ってください。”

プラグインを入れていくとこんなエラーが表示されるようになった。
とりあえずググってみると非推奨のパラメータを使用していることが原因と判明。
Advanced make clickableの場合は以下を修正して終了。

デスクトップヒープが足らずにコントロール作成エラー

2011年08月22日 11時40分

納品しているプログラムが先方環境だと定期的に落ちるという報告があったので調査したところWindow Handleの作成に失敗するというエラーログが出力されていた。

Win APIを直接触るわけでもなくWindow Handleなんて.NETで意識したことなかったが調査したところデスクトップヒープ領域が足らずに落ちていることが判明。

Visual Studioで直接デバッグできないので以下のツールを使用してデバッグ。

デスクトップヒープ モニターツール ダウンロードページ
http://www.microsoft.com/downloads/en/confirmation.aspx?familyid=5CFC9B74-97AA-4510-B4B9-B2DC98C8ED8B&displaylang=en

どうもPanelにButtonをAddする度に大量に減っていく。
そしてPanel.Clear()しても開放されずに消費したままなのが原因。

Clearして参照がなくなる前にコントロールをDisposeすることで現象が解消した。

GCの開放タイミングの問題だが既にリリースしてPGをあまり変えられない場合は
Disposeを明示的に呼ぶことで解消する場合がある。

デスクトップヒープ モニターツール 参考ページ
http://www.atmarkit.co.jp/fwin2k/win2ktips/071desktopheap/desktopheap.html
http://support.microsoft.com/kb/914216
http://www.rcs-solutions.com/blog/2007/12/05/TheDesktopHeap.aspx
http://space.geocities.jp/nequomame/dotnet/winservice/winservice_04.html

愛犬

2011年08月21日 20時28分

実家で飼っているタロウ君です。
あぁ、会いたいなぁ。

愛犬タロウ

初投稿!

2011年08月19日 00時55分

テスト投稿!