ページ

2013年3月21日木曜日

[VS] Google Crash Handler が動いていると Visual Studio の XAML UI デザイナーがハングする?

2月後半くらいからこの現象が出るようになって困ってました。

  1. Windows 8 上の Visual Studio 2012 を起動。(私が使ってるのは Ultimate。他のエディションは不明)
  2. 「ファイル」-「新規作成」-「プロジェクト」 で Visual C# の 「Windows ストア」 で 「新しいアプリケーション (XAML)」 を作成。
  3. プロジェクトができたらソリューションエクスプローラーで MainPage.xaxml をダブルクリックして XAML UI デザイナーを開く。
  4. XAML UI デザイナーのどこかをクリック。

これで、Visual Studio がハングしてどうしようもなくなります。
私の環境では 100% こうなります。
同じような環境が 2つ(デスクトップ PC とノート PC)がありますがどちらも 100% 発生します。
上記では例として新規作成のプロジェクトにしましたが、既存のプロジェクトを開いて XAML UI デザイナーをクリックしても同様です。
何かに時間がかかっているだけかと思い 10分以上放置してみたこともありますが何ともなりませんでした。
ちなみに、WPF のデザイナーでは問題はでません。問題が出るのは Windows ストアーのデザイナーだけのようです。

この状態になったら以下の方法で部分的に復旧させることができます。

  • タスクマネージャーを開き 「Microsoft Visual Studio XAML UI Designer (32 ビット)」 という名前のプロセスを終了させる。

どうやら XAML UI デザイナーは別プロセスになっているようで、こうすると Visual Studio が操作できるようになります。
ただし、XAML UI デザイナーは死んだ状態なので下図のようになりデザイナーは使えません。

XAML_UI_Designer_Hangup.png

デザイナーは使えませんが、XAML を手書きはできますし、XAML UI デザイナー以外の部分は問題ないのでとりあえずこれで使ってました。(最近は XAML UI デザイナーが必要なことはあまりやってなかったのでこれで何とかなってた)

けど、これはさすがに不便なので解決策を探ることに、、、
まず手始めに何かのプロセスが影響を与えていないことを確認するためにタスクマネージャーで殺せるプロセスはみんな殺す。。。あれ?動くようになったぞ?
いきなりビンゴ。あとはどのプロセスが原因になっているのかを特定するため地道に試していくと、、、

  • タスクマネージャーで 「Google Crash Handler (32 ビット)」 という名前のプロセスを終了させれば Visual Studio 2012 の XAML UI デザイナーがハングしなくなる。

でした。

Google Crash Handler が何なのかはわかりません。(まぁ、名前的にクラッシュを検出してレポートするためのものなんでしょうが。そんなものが Visual Studio をハングさせてしまうというのも皮肉な話)
また、何を入れると入るのかもわかりません。Google 日本語入力(Google IME)、Chrome、Google Toolbar あたりだとは思いますが。
ちなみに、GoogleCrashHandler.exe は バージョン 1.3.21.135 で、タイムスタンプ 2013/02/06 08:21 でした。

と、冷静にまとめましたが、原因が特定できたときには思わずガッツポーズしちゃいましたよ(笑)

2013年3月20日水曜日

[勉強会] Room metro #14 大阪に行ってきた

3/16 開催の「Room metro #14 大阪」に参加してきました。
場所は淀屋橋の IIJ さんの会議室。人数の割には広めの会議室で、無線/有線 LAN もあり、UStream 配信も OK というすばらしい環境。(配信設備は自前で用意する必要があるけど、結局それも IIJ の方に(個人的に)借りたのかな?)

どのセッション・LT もとてもおもしろかったです。

  • TypeScript はおもしろそうだし使ってみたいとは思ってるんだけど。node.js + TypeScript とかおもしろそうだし。
  • Direct3D はやっぱりめっちゃおもしろいよな。なんかやってみたい。
  • ちょっとしたデータを保存するには SQLite 便利っすよ。
  • P●P→C# ってよりやっぱり設計が大事っすよね。うん、大事。
  • やっぱりどうせアプリ作るなら最低限英語版は作んないとなぁ。
  • VAIO Tap 20 を持ち歩いてたら目立つだろうなぁ。けど、あれを電車の中に持ち込むのはちょっとw

で、今回 SQLite をネタにセッションをさせて頂きました。セッション資料を下に貼り付けておきます。
最初は 30分くらいのセッションのつもりだったので軽く SQLite を紹介する程度のつもりだったんですが、あとで「50分で」と聞いたので関連するネタを追加したんですね。前日は東京出張だったので新幹線の中で考えてました。(ファイルピッカー使っても一部のフォルダーしか見えないデモとか、PC 側で壁紙を変えると Surface 側も自動的に変わるとか、ARM バイナリーを Surface でリモートデバッグするとか、が追加したあたりのネタ)
んが、ちょっと追加しすぎて、というか、話してたら調子にのっちゃって時間をオーバーしちゃいました。てへぺろ(・ω<)

終わったあとは懇親会。
これも楽しかった。