[.NET] WindowsMobile上のC#アプリのメモリリークを解決せよ!

先週、思いっきりハマッた話です。
そもそも、自分が直接かかわっていないプロジェクトでいきなり日曜に呼び出されて、うんぬんかんぬん・・・ま、そいういった愚痴は置いといてw

このプロジェクトではあるWindowsMobile端末を使用しており、その上で動作する.NET(言語はC#)のアプリケーションにてメモリリークが発生しており、運用上使い物にならないレベルということだった。問題はあるフォームを「ShowDialog()」で開いて閉じてを繰り返すだけで、50KBずつリークするということはわかっていた。

何も確認せずにとりあえず、試してみてもらったのは以下の2つ。

  • メンバ変数でDataSetを使用しているようであれば、必ずDispos()すること。
  • フォームを閉じる際に、フォーム上のコントロールを全て明示的にDispose()すること。

しかし、上記の対応では効果が無かった(結果からすると、いい線をいっていたんだけど足りなかった・・・)。

続きを読む “[.NET] WindowsMobile上のC#アプリのメモリリークを解決せよ!”

[.NET] WindowsMobile上のC#アプリのメモリリークを解決せよ!

モリコとタマゴ

週末のひっさびさのいい天気♪(昨日は仕事でしたけど・・・)
今日はカミさんがあな吉さんところにリフレをやりにいっていたので、ノンと二人で小金井公園へ。

お弁当 20090315

本日のお昼はカミさんの用意してくれたお弁当。
しかも、ノンの大好物の「のり弁」ヽ(´ー`)ノ

茶をすする娘

食後に緑茶(水筒にて持参)をすするノン。
何でか知らんが正座w

食事の後は、ソリを滑りに移動ぉ~
すると・・・

カエル①

謎のカエル。何だ?と思うと。

カエル②

へぇ~、こんなのあるんですねぇ。
子供達には非常に好評のようでした♪

んでもって、ソリゲレンデにて7回ぐらい滑ってきた。
しかし、今日は暖かかったなぁ~ヽ(´ー`)ノ

森の中?

んでもって、いつもの森の迷路?みたいなところを連れ回されたり。
(ここが結構、大人にはしんどいのよ)
先週は熱出してダウンしてたのもあり、やっぱりこうやって外で遊べるって気持ちがいいもんだ♪

で、タイトルの「モリコとタマゴ」について。

夕食を食べ終わった頃。突然、ノンが「モリコ」と言い出した。
以下、会話風で。

ノン:モリコ!
カミさん:ノンはモリコなの?
ノン:うん、モリコ!(爆笑)← 眠くてだいぶおかしくなってる風w
ノン:モリコですっ(お辞儀をしながらw)
ノン:あ、タマゴさん!(ワシ指さして)

(どうも、ワシが今日髪を切ってほとんとボウズ&面白がって頭を半分服の中に入れてたからなんだろうけど。
「タマゴ」呼ばわりであるw)

ノン:モリコですっ!お父さん、「タマゴですっ」って言って!
ワシ:え?何、その漫才みたいなの?w
全員:(爆笑)

(仕方なく)

ノン:モリコですっ!
ワシ:タマゴですっ!
全員:(爆笑)

「モリコとタマゴ」結成(?)秘話でした。
そして、週末の夜はふけていく。

ノン:タマゴさん、タマゴさん。
ワシ:いいから寝ろっ!w

モリコとタマゴ

キャリアのわらしべ長者理論

ネーミングからすると何とも胡散臭い理論であるw
しかし、普段そんなこと考えて行動してなかったけど、
なるほどねぇっと思ったので。

とにもかくにも、下記の記事を読んでいただきたい。

※一部抜粋
「仕事はできるだけやりたくない」「同じ給料なら楽をしたい」では、コツコツやる人と数年後に大きな差がつきます。忙しいからと仕事を断らず、どんどん引き受けることで、小さな仕事の成果が信用を呼び、いつしか大きな仕事を任されるようになります。「わらしべ長者」の主人公のように成り上がりましょう。

どんな仕事でも関係するとは思います。自分の場合、仕事を頼まれたときは無理なことでも引き受けていくことで、自分の成長も実感できている。その結果、次から次へ難題を任されてきていたりもするので(正直、キツイし、今のところたまたまうまくいっているだけというオチもあるかもしれませんがw)、本理論がうまい表現だなぁっと思ったわけです。

ま、自分の性格上、追い込まれないと頑張らないし、力も発揮しないことを知っているので、自ら追い込むように仕向けるようにはしてきていました(ワシの座右の銘の一つが「苦労は買ってでもしろ」なので(´▽`*)アハハ)。これからもそうすると思います。だって、たいして苦労も必要のない仕事ばっかりしてても、自分の限界ギリギリのところで頑張る必要がないから、成長することって無いと思うんですよね。成長する必要ないのだとしたら、それって死んでるのとかわんなくねー?とも思ったり。

また、逃げて(ちょっと言い方が悪いかもしれませんが)ばかりいたら、後で自分が困ることになることも分かっているからかもしれません。逃げてしまう人は、それによって自分が困るということを認識してないような気がしてならないんだけど、どうなんでしょうね。

ビジネスをする上で当たり前のことですけど、信用とか信頼関係って重要なんですよね。だから、コツコツとこなして信用を得ていかないといけない。信用は1日で得られるようなもんじゃないですから。その代り、失うときは一瞬ですけどね。。ま、ずっと失敗してれば話は別ですけど結果がどうであれ、それに対してどういうプロセスを経ていたかは誰かが見てるもんですから全部が全部失うようなことはないと、信じたい。

とはいっても、たまにはボンヤリしたいもんだ(;´Д`)

キャリアのわらしべ長者理論

ボロボロな1週間?

どうも、1週間以上ぶりです。ご無沙汰してます。。
いやぁ、この1週間は色々(?)ありすぎた (´ヘ`;)

■2/27(金)
プロジェクトAの顧客先の詳細設計レビュー。

■2/28(土)
普通に休み( ´ー`)フゥー...

■3/1(日)
プロジェクトBにてC#アプリでメモリリークが発生!緊急拉致。

■3/2(月)
午前:プロジェクトCの基本設計レビュー。
午後:自社にてメモリリーク対応

■3/3(火)
ひたすらメモリリーク対応

徹夜(ここで喉に違和感)

■3/4(水)
26時までかけてようやく、メモリリークで1回で50KBリークしていたのを1KB以下まで抑えることに成功。とりあえず、完全な処置ではないが運用上問題なさそうだということでこの場は解散。タクシーにて帰宅。

■3/5(木)
昼ぐらいにノンビリ出社するも、何かダルい。
プロジェクトCのバグの対応(切り分け、仕様確認、ドキュメント修正、バグ修正、テストすべてですけど・・・しかも、言語はC#、ActionScript(Flex)、VisualForce、ApexCodeと何でもござれな状態)。
夕方ぐらいになり寒気がしだし、座っているのもしんどくなる。
「これはオカシイ」と思い、定時後そそくさと退社し、帰宅後そのままダウン。。。

■3/6(金)
39度近い熱&頭痛に悶絶しながら、ずっと寝させてもらました。

■3/7(土)
熱も若干下がり、頭痛のだいぶ治まったのでだいぶ楽に。
でも、だいぶ休ませてもらいやした。

■3/8(日)
復活!!いやぁ、健康って幸せですね。ほんと。

そんな状況だったので、ここには何かをかける状態ではありませんでした。。
つーかさー、プロジェクトを3つも抱えてるって普通じゃないよね?誰か教えてください。

あと、メモリリークについては後日もう少し詳しく書いておくつもりです。

ボロボロな1週間?