nDiki : 2011年02月下旬

2011年2月21日 (月)

Visual C++ Win32 コンソールアプリケーションへのメモリリーク検出の埋め込み

Visual C++ 2005 で開発のプログラムがどうもメモリリークしているっぽい。 メモリリーク検出を仕込む方法のメモ

stdafx.h

デバッグバージョンのヒープ割り当て関数を使うようにするマクロ定義と crtdbg.h のインクルードをする。 メモリリーク情報ダンプの際にレポートにファイル名と行番号が出るように new を書き換えるマクロを定義する。

 // デバッグバージョンのヒープ割り当て関数を使うようにする。
 #ifdef _DEBUG
 #define _CRTDBG_MAP_ALLOC
 #include <stdlib.h>
 #include <crtdbg.h>
 #endif

 // _CRTDBG_MAP_ALLOC に関係なくプリコンパイルしたいもの。
 // かつ new を書き換えるとコンパイルが通らなくなるヘッダファイル群。
 #include <string>

 #ifdef _DEBUG
 // プリコンパイルするほどではないけど、
 // new を書き換えるとコンパイルが通らなくなるヘッダファイル群。
 // 例えば。
 #include <map>

 #define new new(_NORMAL_BLOCK, __FILE__, __LINE__)
 #endif

 // プリコンパイルしていもの。
 #include <myproj/utility.h>

main 関数

終了時にメモリリーク情報をダンプさせるようにする。 また、コンソールアプリケーションの標準エラー出力にレポートが出力されるように設定する。

 int main(int argc, char* argv[]) {
   // 終了時にメモリリーク情報をダンプさせる。
   _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);


   // レポートをファイルに書き出させる。
   _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
   _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE);
   _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE);

   // レポートを標準エラー出力に出力させる。
   _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
   _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR);
   _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);

   // 処理を開始。
   ...
 }
スポンサード リンク

今日のさえずり: 「玄関開けたら2分でごはん」って韻が素晴らしいんだな

サトウのごはん コシヒカリ 200g×20個

2011年02月21日

  • 12:07 弁当 350円。 (@ 向日葵 和泉町店・カレー食堂) http://4sq.com/fkgq1o
  • 12:28 RT @weboo: AKBのカレンダーを剥がされただけで、職場がこんなに殺風景になるとは…
  • 12:38 先週金曜日に外部サイト連携を設定してmixiチェックに流せるようにしてから、はてなブックマークまたぼちぼち使ってる。 http://bit.ly/eEMIud
  • 14:03 メモリリークの香りがプンプンする。
  • 14:26 CryptoAPI の件、CryptAcquireContext が「署名が無効です。」エラーを返してた。これから調査する。
  • 14:31 0x80090006L、NTE_BAD_SIGNATURE。
  • 16:27 結局 CryptoAPI はやめて、別の MD5 実装を使うことにした。
  • 16:37 マージしないで git branch -D しちゃうとそのコミットが gitk で表示されなくなるので見つけにくくなるな。とりあえず墓標タグ打っておいた。 #Git
  • 17:30 缶コーヒー 100円。
  • 19:36 ついに対応! RT @mixi_PR: Android端末のスマートフォンからも新規ユーザー登録が可能になりました!   http://mixi.co.jp/press/2011/0221/4338
  • 19:48 mixi Developer登録の携帯メールアドレス変更のドメイン候補には gmail.com とか追加されてないな。
  • 19:52 Android からの mixi 新規登録、やはりキャリアのメールアドレスが必要。
  • 19:52 iモード端末が不要になったのはいいね。
  • 20:20 「玄関開けたら2分でごはん」って韻が素晴らしいんだな。
  • 22:13 「『パケ・ホーダイ ダブル』ご契約者の場合、『パケ・ホーダイ フラット』はお申込みいただいた翌月からの適用となります。」と書いてあるな。自分の場合、3月15日以降に申し込んで4月から適用という流れだな。
  • 23:34 SL4A (sl4a_r3.apk) インストール。 #Android
  • 23:42 SL4A 起動して [View] - [Interpreters] して [Add] - [Perl 5.10.1] して perl_for_android_r1.apk をダウンロードしてインストール。#Android
  • 23:43 Perl for Android 起動して [Install] ボタン押して perl_r9.zip ダウンロード中。1647952bytes #Android
  • 23:46 perl_extras_r7.zip も自動的にダウンロードされた。 #Android
  • 23:51 SL4A 起動したらサンプル Perl スクリプトが追加されてた。 http://flic.kr/p/9jWt6E
  • 24:02 ATOK トライアル試用期間がもうすぐ終わると通知に出たけれど、製品版はいつ出るのかな? #Android
  • 24:54 QuickSSHd インストールして PC から XperiaSSH で入れるようにした。 #Android
  • 24:57Emacs + TRAMP で直接ファイルを編集しようと思ったんだけれど失敗。/bin/sh が無いからか。 #Android
[ 2月21日全て ]

2011年2月22日 (火)

今日のさえずり: お茶碗にご飯を1/3残すのより数粒残す方が罪悪感がある

2011年02月22日

  • 10:21 「ちゃんこ鍋をつつく会」参加エントリした。
  • 12:08 炭火焼牛カルビ弁当 498円。 (@ セブン-イレブン 神田佐久間町店) http://4sq.com/e2lnJF
  • 15:18 type_info::name() 呼ぶとメモリリークとして検出される。
  • 15:54 Windows 7 はタスクバーを最背面表示にできないのか?
  • 17:14 ミーティングソフトウェアメトリクスが出たと思ったら「コメント行数」とか出てきてげんなりした。
  • 17:29 RT @atok_js: 【Android向けATOK Trial版をご利用の方へ】試用期間終了の案内が出ているかと思いますが、近日中には今後のご案内をさせていただきます。ちょっとしたサプライズを用意していますのでお楽しみに!#atok4android
  • 20:26 XperiaBash が欲しいな。クロスコンパイルするか。
  • 20:28 Panasonic ノート PC にかじられたリンゴのステッカー貼っている人発見。
  • 21:27 (例えば体調が悪くて)お茶碗にご飯を1/3残すのより、(同じ条件で)数粒残す方が罪悪感があるのはなんだろうねぇ。
  • 24:30 Android NDK で Bashビルドが通らないなあ。
  • 25:56 アイロンかけたし、ぼちぼち。
[ 2月22日全て ]

2011年2月23日 (水)

今日のさえずり: std::string をメンバに含む構造体を memset でクリアしている輩を発見

2011年02月23日

  • 10:36 今日も集中的にメモリリークつぶし。
  • 11:59 std::string をメンバに含む構造体を memset でクリアしている輩を発見。メモリリークはオマエだ!
  • 12:07 おにぎり 325円。 (@ ファミリーマート 神田佐久間町店) http://4sq.com/hDSmqT
  • 14:39 _CrtSetBreakAlloc 思いのほか重宝している。
  • 17:06 退勤。
  • 21:39 RT @otsune: 秋元才加の「出産の十月十日前に」発言を厳密に計算すると perl -MDateTime -e'print DateTime->new(year=>2011,month=>4,day=>2)->subtract(days ...
  • 22:07 カップルでマスクしているのカワイイ。品川駅で見かけた。
  • 23:20 風呂で寝ない方法を知りたいのです。
  • 23:23 不慮の事故とかこわい。風呂の事故とかこわい。でも眠い。
[ 2月23日全て ]

2011年2月24日 (木)

今日のさえずり: 何で今日はオフィスのみんなが Facebook やってるの? 何かを超えたの?

2011年02月24日

  • 06:50 ATOK for Android製品発表は今日のNTTドコモ製品発表にタイミングを合わせるため止めていると予想。
  • 10:35 Google Chrome 拡張も別プロセスなのか。
  • 11:26 「クラス宣言だけしか読んでないソースファイル内で delete してたのでデストラクタが呼ばれなくてメモリリーク」を C++ のコードで発見して潰した。あれぇなんで C4150 出てなかったんだ?
  • 12:10 弁当 350円。 (@ 向日葵 和泉町店・カレー食堂) http://4sq.com/hEDCFU
  • 12:13 prove の範囲でのメモリリークを全部潰した。おいしくお昼ごはんが食べられる。
  • 12:16 Android 用の ATOK は結局6月30日までトライアル版延長か。
  • 12:26 RT @atok_js: 予告させていただいた通り、大きく3つのポイントがあります。1. 利用期間を6月まで延長 2. 3キャリアそれぞれのTrial版を公開 3. マッシュルーム対応です。 http://ow.ly/42jZY #atok4android
  • 12:26 RT @atok_js: それと、基本的な機能も大きく強化しています。濁点/半濁点や半角スペースのフリック入力、本体メモリ使用量を削減、キーサイズの設定追加など、書ききれないぐらいの機能強化を施しています。#atok4android
  • 12:30 ATOK for Android のキーサイズ「小さく」に設定した。縦方向の誤打は今までほとんどないので。横幅が広くなるといいのだけれど、そうすると POBox Touch の真似するしかないのかな。 #atok4android
  • 13:37 「さくらのVPS 1G」月額1,480円。512MB は心もとなさそうで手を出さなかったけれど、1GB だといいんじゃない? http://bit.ly/i22R4o
  • 13:41 RT @yapcasia: 【仮】YAPC::Asia Tokyo 2011 は 10/13, 10/14, 10/15の予定。会場が決定していないのでまだ変更の可能性はあります。
  • 14:50 液晶プロジェクタの交換用ランプ定価44,625円か。結構するな。
  • 15:23 交換用ランプ買うなら新しいの買ったらという話になってる。
  • 17:21 RT @atok_js: 【初めてATOK for Androidをご利用される方へ】キーボード右側の矢印はフリックで上下左右に向きを変えることができます。カーソルの移動が楽になると思いますので試してくださいね。#atok4android
  • 17:48 何で今日はオフィスのみんなが Facebook やってるの? 何かを超えたの?
  • 18:19 ティオ 100円。
  • 18:35 Locale::Maketext で po ファイルを使うやり方。言語別にパッケージ作って %Lexicon 作るより管理が楽そう。 / Perl でつくった web サイトを L10N する方法 - TokuLog 改メ tokuh… http://htn.to/en3XyA
  • 19:02 「高速化に着手する。」
  • 19:41 みんなそろそろエイプリルフールの準備始めてるのかな。
  • 20:11 予想よりは高速化の結果はちょっぴりだった(そんなもん)。
  • 20:51 RT @tekiomo: PHPエラーメッセージでググるとそのエラーが実際に出ているページがひっかかる仕様をどうにかしてもらいたい
  • 20:59 あ、同時プリント受け取り忘れてる。
  • 21:59 せっかくいい記事だなと思ってmixiチェックボタンを押したのに、mixi Plugin のサービス設定で「~をチェックしました。オススメです!」ってなるように定型文設定されてて萎えた。オススメ押し売りすぎ。
  • 22:39 RT @zakwa: 飲みの誘いを断る事に「申し訳ない感」よりも「勿体ない感」が明らかに強いのはなぜだろう。
  • 24:36 自分が昔買ったのより付属品が増えてて楽しそう。 / ASCII.jp:昔懐かしいD&Dの「赤箱」が最新版になって復活! http://htn.to/AHPa1X
[ 2月24日全て ]

2011年2月25日 (金)

今日のさえずり: あやうく探偵になるところだった

2011年02月25日

  • 09:49 ハッピーメールは貴重なティシュー源。
  • 11:29 プロジェクタ見てる。 XGA (1024x768) 出るのだとだいたい6万円台ぐらいかな。ELP-710 の交換用ランプよりは結構高くなるな。明るさ・性能的にもかなり良くはなるので予算があれば買う価値はあるのだけれど。
  • 11:30 エプソンだと EB-X10 かな。 http://amzn.to/ew5Trr
  • 12:22マクドナルドのおすすめ情報」メール、Date: Fri, 25 Feb 2011 08:00:00 +0900 なのがついさっき届いた。配送数半端ないのかな。
  • 13:10 ノギスならオフィスの自分の道具箱に常備しています(大学の時に購入必須だったんじゃなかったかな)。
  • 14:57 RT @mixi_PR: 6月までにFelica機能を使ったマイミクシィ申請機能も搭載される予定です! 「ソーシャルフォン」サービス、ソフトバンクモバイル先行で本日より提供開始  http://mixi.co.jp/press/2011/0225/4384
  • 16:40 今日の「ちゃんこ鍋をつつく会」の「ちゃんこ江戸沢 両国店」で思い出した。大学時代に行ってたの、「ちゃんこ江戸沢 戸店」だよね。今チェックしたらもう閉店してた。
  • 17:14 ありがちだが気がついたら DEBUG/TRACE レベルログの生成がメチャクチャ時間食ってた。is_debug()/is_trace() チェックしてバイパスするようにしたら速くなった。いえい。
  • 17:54 缶コーヒー 100円。
  • 18:20 @as_tone LAN コネクタの圧着完了するまで、ちゃんこ抜きです。
  • 21:40 みんな大好き Facebook。会社の呑み会でこれだけネットサービスが話題になったのは初めて。やっぱりアレを超えつつあるのか。
  • 21:48 (現職の)同じ会社なら別に(SNS 上の)友達になる必要が無いって意見がちらほら出て、これは新鮮。
  • 21:52 やっぱり Facebook のネットワーク接続力は他の SNS の比じゃないっぽい。
  • 21:53 というか、逃げられない感じすらある。
  • 23:31 週末散髪してさっぱりすることにした。
  • 24:01 あやうく探偵になるところだった(中学生の頃、刑事や探偵になりたいと思っていた時期があった)。
  • 24:10 自分にとっても TwitterFacebook にはダイナミックなフィードアグリゲータとしての要素が大きい(そして他の要素もあるから面白い)。 RT @k12u: facebookもtwitterも広義のRSSリーダーじゃね
  • 24:16 それとアグリゲータであると同時に自身がフィード。
  • 24:20 他人への発信という視点では「面白いものみっけ」や「パーソナルブランディング」。
  • 24:20 ライフログとしての自分自身への発信。
  • 24:21 そしてゆるいコミュニケーション
  • 24:22 Facebook では加えて探偵ゲーム
  • 24:39 Facebook はソーシャル探偵ゲームサービス。
  • 24:42 探偵ゲームだから実名でないと困るというのが真実。
[ 2月25日全て ]

2011年2月26日 (土)

Facebook はソーシャル探偵ゲームサービスである

承知の通り Facebook は実名制である。

Facebookでは、ユーザーの皆様に実名および実在の情報を提供していただいています。 -- 利用規約(Statement of Rights and Responsibilities) 4. 登録とアカウントのセキュリティ

これはね。Facebook が「ソーシャル探偵ゲームサービス」であるからである。

Facebook は人探しゲームなのだ。 登録したユーザは「探偵」となる。そう「あの人」の行方を探すのが任務である(そしてクライアントは99% 自分である)。

と同時ユーザは登録すると、他のユーザから見て「行方不明者」という役割も与えられる。 ある行方不明者は誰かに見つけられることを望み、ある行方不明者は誰かから見つけられることを望まない。 大概のユーザは、何人かとのつながりを望むと同時に特定のユーザらから見つけられることを嫌うため、どちらの要素も合わせもつ。

Facebook は「検索」などの捜索用機能、プライバシー設定などの失踪用機能、「知り合いかも?」などのマジック機能をうまく提供することでゲームバランスをとっている。

ここで重要なのは Facebook が実名制であることである。 Facebook は実名制にすることで行方不明者を演じるプレーヤーを確保しているのである。

今日のさえずり: 「剣や棒、甲冑、リベットを打ちつけた服など」は NG

2011年02月26日

[ 2月26日全て ]

2011年2月27日 (日)

ヘアカラー3回目

9:30 床屋。いつものアドバンストヘアーナカタニで。11月27日以来ちょうど3カ月ぶり。

カラーしていると髪の伸び的にやはり3カ月が目安だな。

色は前回と同じ。ベージューカラー Be-7。

今日のさえずり: 決死の覚悟で公園で1時間遊んできた

2011年02月27日

  • 00:20 東京マラソン2011、「剣や棒、甲冑、リベットを打ちつけた服など」は NG。
  • 09:22 床屋行ってくる。
  • 11:06 カット完了。 (@ アドバンストヘアーナカタニ) http://4sq.com/hVQdCj
  • 11:37 上司の東京マラソン2011出走、5km ラップ26分前後で順調なランです!
  • 13:10 上司、東京マラソン2011、13:00 過ぎに無事ゴール。おめでとうございます!
  • 16:14 決死の覚悟で公園で1時間遊んできた。鼻水でろでろ。
  • 21:56 これで Windows また捨てられるかも。 / 『Nevernote』はLinuxで使えるオープンソースEvernoteクライアント! : ライフハッカー[日本版] http://htn.to/7dm2hX
  • 22:07 nevernote-0.97_i386.deb ダウンロードしてる。 #Evernote
  • 22:27 NeverNote 同期させてる。
  • 22:29 なんか @k12u が茶色から黄色になった。
  • 22:31 @k12u ああ、じゃあ自分も黄色にしないと……。
  • 22:45 NeverNote 同期中に何か以上を示すダイアログが出たので、いったんメニューから終了を選択。GUI は落ちたけど何かまだ java コマンドがぐぐる動いてる。kill すべきか否か。
  • 22:47 怖いけど止めた。やはり Synchronize on Shutdown 設定は外しておこう。
  • 22:53 なんか変なので一度 rm -rf ~/.nevernote/
  • 23:07 NeverNote 同期がきちんと進まない。駄目だな。 #Evernote
  • 23:08 NeverNote を捨て。 RT @Naney: これで Windows また捨てられるかも。 / 『Nevernote』はLinuxで使えるオープンソースEvernoteクライアント! : ライフハッカー[日本版] http://htn.to/7dm2hX
  • 23:35 setup.rb で ~/local/foo にインストールしたい時ってどのオプションで指定すればいいの?
  • 23:36 @a4w やはりそうなんですか。同期にちょっとでも不安感があるとちょっと使えないですね。
  • 24:08 放置していた Emacs evernote mode セットアップした。やはり Linux 上では Emacs から。 #Evernote
  • 24:14 Emacs evernote mode の方がずっと良かった。
[ 2月27日全て ]

2011年2月28日 (月)

今日のさえずり: またお風呂で寝て、ゴメンナサイ

2011年02月28日

  • 09:32 RT @nobi: よかった。ブログにずっと表示されていた狙いすぎの温泉入浴中女性の広告。「狙い過ぎ感」が受け入れられず、表示されないようにcompetitive商品登録後したものの、その後も、しばらく表示されていた。ようやく他の広告に切り替わり始めたようだ ;-)
  • 10:26 Google Apps のユーザー移行を開始。「組織の規模によっては、ユーザーに対して確認した新しいサービスにユーザーすべてがアクセスできるようになるまで最大で 24 時間かかる場合があります。 」ってあるけど、少ないからすぐ終わることを期待。
  • 10:28 とか言っている間に完了。
  • 12:08 唐揚弁当 430円。 (@ ファミリーマート 神田佐久間町店) http://4sq.com/fr7NKX
  • 12:15 唐揚げ弁当にピュアセレクトマヨネーズがついてきてるけど、イラナクネ?
  • 15:16 だ。 (@ 美倉橋) http://4sq.com/fUXWs4
  • 16:50 ああ、VirtualStore わかりずらい。
  • 19:27 実際、週末辛かった。 RT @Dr_PollenX: 2/25,26,27の3日間で東京では昨年1年分に近い量のスギ花粉が飛散しました。しかし、雨が上がる火曜日からはさらに大規模に飛散するする可能性があります。 #kafun
  • 19:28 しかし1年分っていっても、年中飛んでるわけではないから。
  • 20:55 シティバンクのeステートメントが Gmailspam & 送信者情報が変更されている可能性扱いされてて、ロストしかけてた。
  • 21:49 RT @m_c_tw: nDiki: すぐに違うことを始めてしまうので Doing リストを使ってみることにする http://t.co/WYd8nzl via @Naney
  • 21:49 RT @ktoume: おすすめです。 RT @m_c_tw: nDiki: すぐに違うことを始めてしまうので Doing リストを使ってみることにする http://t.co/WYd8nzl via @Naney
  • 23:09 またお風呂で寝て、ゴメンナサイ。
  • 23:09 顔が着水する直前にハッと起きた。
[ 2月28日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィでマネージャー・プロダクトオーナーをしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

follow us in feedly

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.121647s / load averages: 0.56, 0.41, 0.32
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker