visual studio 2010で楽しくデバッグ

22
COMU+ ここここここ Visual Studio ここここここここ ここここ こここ /@kkamegawa [email protected]

Upload: kazushi-kamegawa

Post on 28-May-2015

2.142 views

Category:

Technology


0 download

DESCRIPTION

こみゅぷらすのCommunity Launc Eventで行ったVisual studio 2010デバッガの主にIntelliTraceのご紹介です。

TRANSCRIPT

Page 1: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

Visual Studio で楽しくデバッグ

かめがわ かずし /@[email protected]

Page 2: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

Agenda

• Visual Studio 2010 デバッガ• デバッガ新機能• IntelliTrace

Page 3: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

自己紹介

• オンラインでの kkamegawa はほぼ私です(id:kkamegawa,@kkamegawa,MSDN/Technet forum) 。

• 最近は @IT でデバッガ連載しています。Visual Studio デバッグ技法http://www.atmarkit.co.jp/fdotnet/chushin/vsdebug_01/vsdebug_01_01.html

• 今日はそれを踏まえてデバッガのお話

Page 4: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

デバッガの機能差

• Express Edition の制限を認識しよう (C++ が意外と… )

Visual BASIC C# C++ Web Dev

JUST-IN-TIME × × × ×

プロセスへのアタッチ

× × ○ ×

ダンプファイル × × ○ ×

ヒットカウント × × ○ ×

ブレークの条件指定 × × ○ ×

リモートデバッグ × × × ×

ASP.NET Web ○ ○ × ○

関数でブレーク × × ○ ×

Page 5: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

VS2010 機能追加 – データヒント

• デバッガ実行中に変数をピン止めして、デバッグ中でいつでも閲覧可

• コメントもかけるよ• Import/Export で共有できるよ

Page 6: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

データヒントも便利だけど

Page 7: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

INTELLITRACE ってなに?

Page 8: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

IntelliTrace を使うシチュエーションをお楽しみください

Page 9: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

ホームズ、大変だ!

どうしたんだい、ワトソン君

Page 10: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

アプリケーションがクラッシュしちゃったんだよ

どういう手順でやったんだい?

Page 11: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

それがすごく複雑な手順だったんで、どんな操作したかも覚えてないんだ

むぅ、確かに例外が出ているね。いくら私でもこれは少し骨だ。

Page 12: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

ど、どうしよう。このバグ入れたまま出荷なんてできないよ!

まてよ、君が使っているのはUltimate じゃなかったか?IntelliTrace を使っていなかったのかい?

Page 13: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

IntelliTrace ?なんだいそれは?確かに Ultimate Edition使っているけど…

ワトソン君、それなら万事解決だ! IntelliTrace があればみんなベテランのバグハンターだよ!

Page 14: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

そして無事にバグの原因がわかったとさ

ちゃんちゃん♪

Page 15: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

IntelliTrace – その 1

• 一言でいえば「実行中の記録を全部取りながら実行してくれるすごいやつ」

• 通常デバッガからの起動で採取されますが、デバッガがなくてもとれます。

• 手元に環境がない Azure では特に有効

Page 16: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

ちょっぴり注意 – その 1

• 現時点で有効なのは .NET Framework のスタンドアロンプログラムくらい–起動済みプロセスへのアタッチ不可

( リモートデバッグも不可 )– Silverlight/Xbox/Windows Mobile/ スクリ

プト言語 /SQL CLR 開発ではサポートされていない

– F# は実験的なサポート

Page 17: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

でもちょっぴり注意 – その 2

• 32bit のモジュールにしか有効にならない–Windows x64 の AnyCPU や x64 は不可– x86 にした場合、 WCF サービスプロジェク

トではうまく動かなかった…

• ホストプロセス (vshost) は使用しないように– IntelliTrace のデバッグログが vshost に対

して採取されるのでデバッグにならない

Page 18: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

デモAzure の IntelliTrace

Page 19: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

クラウドも IntelliTrace

• Azure SDK 1.2 から Azure で生成されたIntelliTrace のファイル (itrace) も読み込めるようになりました。

• ログに制限がある~と泣いていた日もちょっと遠くなるかな?

• Azure は 64bit なので、オンプレミス側のVisual Studio でも x64 で IntelliTrace サポートしてくれるんじゃないかな ( 個人的な感想 ) 。

Page 20: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

チーム開発でも IntelliTrace

• IntelliTrace はデバッグ実行だけじゃないよ!真価はチーム開発

• Test Manager と組み合わせて、テストシナリオ実行中に起きたクラッシュレポートを開発者にバグとして発行→開発者は IntelliTrace のファイルを開けばその時点からデバッグ開始

し、仕事が…

Page 21: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

デモチーム開発の IntelliTrace

Page 22: Visual Studio 2010で楽しくデバッグ

COMU+こみゅぷらす

まとめ

• デバッガ実践というよりは IntelliTrace 紹介でしたが、いかがでしょうか?

• 今のところ Ultimate Edition にしかないですが、評価版などで使ってみてください。

• IntelliTrace は @IT の第二回の Visual Studioデバッグ技法でもご紹介します。