WinDbg で SOS デバッガ拡張(SOS.dll)を使う 導入編

WinDbg を使用して .NET アプリケーションをデバッグする場合、SOS デバッガ拡張(SOS.dll)を使用する必要があります。
SOS は、デバッグ対象の CLR によって、ロードする方法が異なるので注意が必要です。
バージョン別の DLL 場所を以下に示します。
(使用するOSによってバージョン情報が異なる場合があります。必ずご自身の環境になったパスに置換してください。)

Version SOS.dllの場所
CLR1.0 Debugging Tools for Windows 内の SOS.dll を使用します
CLR1.1 %SystemRoot%\Microsoft.NET\Framework\v1.1.4322
CLR2.0 %SystemRoot%Microsoft.NET\Framework\v2.0.50727
CLR4.0 %SystemRoot%Microsoft.NET\Framework\v4.0.30319

パスが確認できたら .load コマンドを実行し、SOS を読み込みます。

.load (sos.dllのFullPath)

次に、.loadby コマンドを実行します。(CLR2.0以前の場合)

.loadby sos mscorwks

なお、 mscorwks は、 CLR4.0 から clr に名称が変更されています。
CLR4.0 のアプリケーションをデバッグする場合には、次のコマンドを発行してください。

.loadby sos clr

なお、.loadby を実行しても見つからない、と表示される場合はモジュールがロードされていない可能性があります。
lm コマンドを実行し、モジュールのロード状態を確認してみてください。

ホスティング先を変更予定です

このブログのホスティングは、 Heteml というレンタルサーバーを使用しているのですが、 Windows サーバーで運用されていないが故の不便がありまして。。
(その弊害が azukipochette.com と azukipochette.jp の平行運用だったりする..)

と思っていたら、ExpressWebというレンタルサーバーがあるよ、と教えていただきました。
Hetemlが月額1,500円ということを考えると年間3,000円ぐらいなのは大変魅力的。しかも、WindowsServer2008R2。
WebPIのおかげで、簡単にWordPressも設置できるので、悩み無く移行できる予感。

ドメインは、そのままで移行予定なので閲覧している皆様には特にご迷惑おかけしないと思いますが、設置完了時にはまたご連絡します。

2010.06.29 追記:

「ご迷惑おかけしない」はずだったのですが、ドメインサーバーも併せて変更することにした為、
最悪ベースで、数日間アクセスできない自体になるかもしれません。なるべく早くに移行手続きしますので、お待ちくださいませ。

2010.07.01 追記:

おかげさまで移行手続きが完了しました。
期間中、アクセスできなかった方には申し訳ありませんでした。
まだ、一部メンテナンス気味ですが、週末を利用して復旧予定です。

現在の勤め先を退社することになりました

主に私とオフラインでつながりにある方向けの業務連絡です。

ほぼタイトル通りですが、現在の勤め先を退社することになりました。
時期的な話もありますが、リストラとか、不況によるなんとか、というようなブラックな事情ではございませんので、あしからず。(自称「円満退社」です!と強調しておきたい)

これに伴い引っ越し作業中なので、大変ドタバタしてます。
このドタバタが収拾するのは夏頃のはず..(残暑厳しかったらごめんなさい)。

何かご連絡があるかたは、twitterでお願いします。(セールスお断りw)

iPhoneを利用してブクログで書籍を管理する

何時の間にやら今年ももう終わりです。年末といえば大掃除ですが、今年最後のやり残しということで書籍整理をしてみました。

書籍整理を思い立った理由は、技術書を多く購入するようになってから店頭で「これ買ったっけ..」ということが多くなったことです。(痴呆じゃないことを祈りたい)
「周りからちゃんと管理すればいいいのに」 といわれ続けていたものの、流石に200~300ある書籍を整理するのは嫌だなぁ、と思っていたのですが、大掃除の際に一緒にやってしまおう、ということで整理を開始。いや、大変でした。

今回は、私の苦労の成果、といいますか iPhone/iPod touch で書籍整理をする方法について紹介したいと思います。

続きを読む

開発実績の調査に「statsvn」を使う

二十一世紀にもなり、構造化プログラミングだ!という声は、オブジェクト指向だ!に切り替わり…そういえばアスペクト指向はどうなったんだろうと思いをはせる昨今、いかがお過ごしでしょうか。
最近は、開発プロセスの見直しも叫ばれておりますが、まだまだ現場では「KLOC! KLOC! KLOC!」と言われますね。
(注:KLOCというのは、 kilo line of code。つまりは「1000行あたりのコード」のことです)
最初から計測するつもりでいれば、対策もできるのですが世の中、何事も後で言われます。
たとえば突然 BOSS がこんなこと言いませんか?

  • いつ頃コード量が大幅に増えたのか?
  • 作業者あたりの作業量は?
  • 週あたりの平均は?

運良く私は言われたことがありませんが(笑)、Subversionを使用していれば大丈夫。
「StatSVN」というツールがあります。

http://www.statsvn.org/

続きを読む

小豆私論をiPhone/iPod touch対応にしました。

twitterを始めるとなかなかブログを更新しませんね…と言い訳を言いつつ二ヶ月ぶりに更新してみます。

ちょうど一ヶ月ほど前になりますが、今頃間たっぷりにiPhoneG3を購入しました。
アプリケーションの開発にはmacが必要なので、どうしようかなぁと悩みに悩みましたが、調べてみたところドコモのパケホーダイをを解約してプラン調整すればiPhoneを二つ持ちできそうだ、ということで即決。
(私の場合は電話なしで、ほぼe-mail。最近の連絡はほぼtwitterなので特殊なケースかもしれませんが。)

そんなわけで、うちのブログもiPhone対応じゃ!と思って、wptouchプラグインを導入してみました。
この辺のプラグイン導入で簡単にiPhone対応ができてしまう手軽さがWordPressのすばらしさだと痛感しますね。
http://www.bravenewcode.com/wptouch/

iPhone持ってないんだけど、どんな感じなの?とご興味ある方向けに画面キャプチャを乗せておきます。

小豆私論をiPhoneで見た図

Firefoxセットアップ(定番アドオン+テーマ)のメモ

複数マシンでFirefoxセットアップが大変になってきたので、メモとして記録。(&参考になれば)

テーマ

Chromifox Basic

Google Chrome風なFirefoxテーマ。Google Chromeユーザには下タブが許せない気もしますが(それようのアドオンもあります)、私は気にしない派。

アドオン(定番)

  • FireGestures
    マウスジェスチャー機能を提供してくれるアドオン。昔からのユーザは All-in-One Gestures かも。バージョンアップへの対応具合が早いので、乗り換えました。
    色はデフォルトの蛍光緑から、藤色に変えてます。
  • TabMix Plus
    タブ機能を強化してくれるアドオン。最近はFirefox自体も強化されているので必須ではなくなっている感じも…。
  • Google Preview
    Google 検索結果にサイトプレビューを追加してくれるアドオン。慣れると表示されないことに違和感を覚えます:-)
  • Fission
    Safari風にロケーションバーに進捗状態を表示してくれるアドオン。
  • Hatena Bookmark
    はてなブックマーク用アドオン。このためにFirefox使ってます第一弾。ブックマークの編集などに非常に便利。
  • TwitterFox
    Twitter用アドオン。このためにFirefox使ってます第二弾。Firefox使っているならこれ以外を使う気にならない…。
  • Gmail Notifier
    Gmail用アドオン。新着を教えてくれる。複数アカウント利用時は少々不便かも。(私は一つだけ)操作性がGoodなので愛用。
    デフォルトで自動ログオンにはならないので、手動設定が必要。
  • HideMenubar
    その名のとおりメニューバー非表示アドオン。最近のウェブブラウザは表示領域拡大の為にメニューバーが非表示にするのが普通ですよね :-p
    メニューバーにアクセスしたいときは Altキーを押せばアクセスできます。(英語キーボードだと日本語切り替え時にカチャカチャと…)

LivedoorReaderの為のアドオンと設定

RSSリーダーにLivedoorReaderを使っているなら、必ず入れたい全文読み設定。

  1. アドオン「Greasemonkey」をインストールする。
  2. LDR Full Feed」をインストールする。
  3. まれに画像表示してあげないもんね、なブログがあるのでアドイン「RefControl」をインストール。
  4. 各種ブログ向けにRefControlを設定
  5. 全文表示したいエントリに向かって「G」ボタンを押す。

    闘うプログラマーが心に沁みる

    疲れた時に飲む酒は五臓六腑にしみわたるそうですが、疲れたプログラマーには「闘うプログラマー」がしみわたりますね。

    連中は決まって、「こんなことでは、一本も売れない。この機能を入れなければ、恰好がつかなくなる。まったく話にならなくなる」と言う。

    こんな話を聞かされている側は、人生の何年も費やし、昼も夜も仕事をしている。そのあげくに、この機能がないから製品は売れないと言われている。

    ここまで言われれば、こう答えるしかない。「わかった。もっと必死にはたらこう。もっと長時間はたらこう。この機能をくわえなければ、だれもNTを売れないというんでは、それ以外に方法がない」。

    しばらくたって、機能をひとつ完成させると、またつぎがでてくる。これではかなわない。これだけは我慢がならない。

    これを読むとまた明日頑張ろうという気になります。皆さんもどうぞ。

    EAアドイン向けコードスニペットとテンプレートのサポートについて

    ESECなどのドタバタに巻き込まれて、アナウンスが大変遅れてしまったのですが、私が公開しているEAアドイン向けのコードスニペット及びテンプレートのサポート場所として利用してた「Lingr」がサービスを終了します。(これはずいぶん前に各所のニュースでも取り上げられていたはずなので、ご存じの方も多いはず)

    Lingrは、ユーザ登録なしで会話はもとより、過去ログの閲覧などもできるすばらしいサービスだったのですが、この景気悪化によりサービス終了になってしまったようです。
    活発な会話が行われてたわけではないのですが、ずいぶん長い間利用させていただき、大変中の方には感謝しております。

    さて、肝心の「では今後のサポートはどうなるのか」ですが、当面はこのブログ(該当記事)へのコメントで対応させていただこうと思います。
    (これまでのサポート内容から、コメント相当で対応可能と思いますので。)
    Privateにいろいろ意見を言いたい、という方(今までいらっしゃったことはないのですが:-))はEAのセミナーに時々参加しておりますので、その際にでもどうぞ。

    Trac Lightning + TeamCity ではじめる継続的インテグレーション(CI)開発

    GWを利用して JetBrainsのTeamCity 4.5を自宅サーバーに導入してみました。
    .NET 向けのCIには、CruiseControl.NET が有名ですが、日本語などの解説サイトがある利点があるものの、TeamCityと比較するとやや設定が面倒な印象があったので、こちらを選択。

    なお、CIをどちらにするかお悩みの方の為に、個人的な比較を書きます。

    • CruiseControl.NET
      • オープンソース
      • XP開発で有名な「ThoughtWorks」社が作成
      • 設定ファイルはXMLで記述(テンプレートは付属)
      • ちらほら日本語での技術情報がある(公式ではない)
    • TeamCity
      • 一定条件下で無料
      • ReSharperや、InteliJの「JetBrains」社が販売
      • ほぼWeb上で設定可能(Antを使用する場合は、当然XMLで別途記述)
      • 日本語での情報が少ない

    TeamCityは、ユーザ数20名以内、ビルド設定を20以内を条件に無料で使用することができます。その数を超えると $1999 で有償になりますが、大規模なアプリケーション開発でない限り、この条件には適用されないと思います。
    数人で開発していて、私のように「めんどくさい設定なんてゴメンだっ!」という方にはTeamCityがいいのではないでしょうか。

     以下に、インストールと設定の手順を示します。

    続きを読む