Windows Azure の記事を書きました

こんにちは d99 です。 実は私は Windows Azure のサポートチームにも所属していたりするのですが、その関係で Windows Azure に関連して記事を書きました。 Windows Azure サポートの現場から > リモート デスクトップを利用したデバッグ (その 2) http://msdn.microsoft.com/ja-jp/windowsazure/jj219279 もしよろしければご賞味ください 🙂 内容としては Azure 特有のハナシではありません。むしろ普通の Web アプリケーションで有用かなと思います。上記の記事では OutputDebugString() API を紹介しています。 他にそういったデバッグで使い易い API 関数と言えば、DebugBreak() API でしょうか。この関数は、要はアタッチしているデバッガを止めるというもので、以前ご紹介した windbg.exe などのデバッガで任意のタイミングでブレークさせる、というものです。DebugBreak() API のプラットフォーム呼び出し定義は以下のようになります。 [DllImport(“kernel32.dll”)] static extern void DebugBreak(); さて、これに対応したマネージドメソッドはないのでしょうか? 実は System.Diagnostics.Debugger.Break() メソッドがそれに当たるのですが、これが NET Framework 2.0 と 4.0 で動きが少し異なります。.NET Framework 2.0…


ASP.NET 用デバッガエクステンションが公開されました

こんにちは d99 です。 Tom の blog に記載されているように、psscor2 と呼ばれるデバッガエクステンションが公開となりました。 New debugger extension for .NET, Psscor2, released http://blogs.msdn.com/tom/archive/2010/03/29/new-debugger-extension-for-net-psscor2-released.aspx Download Center: Psscor2 Managed-Code Debugging Extension for WinDbg http://www.microsoft.com/downloads/details.aspx?FamilyID=5c068e9f-ebfe-48a5-8b2f-0ad6ab454ad4&displayLang=en 実はこちらは、主に ASP.NET を担当する弊社エンジニアが使用していたエクステンションになります。遅くなりましたが、やっと公開できる運びとなりました。一般的に使用されている sos.dll のスーパーセットになりますので、是非ご活用頂ければと思います。 今回は、Tess の blog でも紹介されている psscor2 で特長的な二つのコマンドについて、どういったシチュエーションで有効なのかを簡単にご紹介させて頂きます。 New debugger extension for .NET (PSSCOR2) http://blogs.msdn.com/tess/archive/2010/03/30/new-debugger-extension-for-net-psscor2.aspx   !DumpAllExceptions !DumpAllExceptions は、ダンプファイル中に残されている .NET の例外を列挙するコマンドです。短縮形は !dae です。 例えば、サーバ側で例外が出ているようだ、という時、ハング モード ダンプを採取した上でダンプを開き、エクステンションをロードしてこのコマンドを実行すると、ヒープ中に残っている未処理例外がその時のスタックトレースと共に列挙されます。.NET Framework…


ASP.NET 運用デバッグ入門 3) メモ帳をデバッグ

こんにちは、d99 です。 さて、前回の連載エントリでデバッガ(windbg.exe)の動作確認まで行いました。予告通り、引き続いてメモ帳をデバッグしてみましょう。 – 前提条件 1) Debugging Tools for Windows がインストールされている インストール方法については [以前のエントリ] を参照してください。 2) インターネットにアクセスできる 今回はシンボルを使いますが、それをインターネット経由でダウンロードします。ですので、デバッグするマシンはインターネット(HTTP)にアクセスできる状態にしておいてください。 3) 二つのファイルを用意 テキストファイルを二つ用意します。C ドライブのルートに test.txt (C:\test.txt)、D ドライブのルートにも test.txt (D:\test.txt)を用意しましょう。中身はそれぞれのファイルのフルパスを書いて、区別が付くようにしてください。なお、1 ドライブ環境であれば、どこかのフォルダを共有して、それをネットワークドライブで適当なドライブ(例えば Y: とか) に割り当てておくといいと思います。その場合は以降の D: をそのドライブ名に読み替えてください。 – デバッグ手順 1) メモ帳を起動します。 2) デバッガを起動し、アタッチします。プログラムメニューから、[Debugging Tools for Windows] – [windbg] を起動します。[File] メニューから [Attach to a Process] を選択し、出てきたダイアログで、[notepad.exe] を選び、[OK] を押します。 3) [Save information…


ASP.NET 運用デバッグ入門 2) デバッガの動作確認

こんにちは、d99 です。 さて、前回の連載エントリで Debugging Tools Windows のインストールまでを解説しました。今回は、さらにそれを使ってちょっとしたデバッガの “動作確認” をしてみましょう。 – 用意するもの 1) テスト用 IIS なければ Visual Studio 付属の ASP.NET 開発サーバでも構いません。IIS をお使いの際には、アプリケーションを作成しておいてください。また、ASP.NET を動かすので、.NET Framework のインストールがもちろん必要です。バージョンは特に問いません。 2) 以下のコードを記述したページ System.Diagonostics.Debug.WriteLine(“hoge”); Visual Studio をお使いの場合は、Page_Load あたりにでも上記の一行を記述してください(C# です)。もしくは以下の一行だけのテキストファイルをテキストエディタで作成して、アプリケーションフォルダに置くだけでも構いません。 <%  System.Diagonostics.Debug.WriteLine(“hoge”) %> 3) 以下の内容の web.config  <compilation debug=”true” /> Visual Studio をお使いの場合は、プロジェクトに [Web 構成ファイル] を追加し、上記の行があると思いますので、false を true へ書き換えてください。テキストエディタ党 🙂 の方は、以下の web.config をアプリケーションフォルダに置いてください。  <?xml…


ASP.NET 運用デバッグ入門 1) デバッガのインストール

こんにちは、d99 です。 ※ 2010/3 追記: 2012/7 更新: Debugging Tools for Windows は 6.12 から入手方法および同梱のツール内容が変わっています。以下の内容は、下記ダウンロードページにて [以前のバージョンの Debugging Tools for Windows] から、バージョン 6.11 をダウンロードして行ってください。 32 ビット版 Debugging Tools for Windowshttp://msdn.microsoft.com/ja-jp/windows/hardware/gg463016 新年度 4月も始まる事ですし、これから何回かに渡り「ASP.NET Debugging 入門」と題して、ASP.NET アプリケーション運用デバッグのために、基本的なデバッガ等の使い方に関する内容を連載させて頂きます。何度か挫折を繰り返してしまっているこの blog ですが、何とか頑張ってみたいと思います。 この連載を通して、例えば「運用環境でサーバから応答がない!」とか「サーバで例外が出てるみたいなんだけど発生要因が分からない。。。」とか、そんな時の手段の一つに運用デバッグを加えて頂ければ幸いです。なお、途中までは単に「デバッガの使い方」になると思うので、通常のデスクトップアプリケーションやサービスなど、ユーザーモードアプリケーション全般に使える部分もあると考えています。 1. デバッガのインストール 今回は、デバッガのインストールについて解説します。もちろんデバッガとして、Visual Studio や Visual Web Developer でも良いのですが、運用環境にそれらをインストールするのはあまりに大仰ですし、いざ現象が起きてからインストールする、というのも無理がありますよね? もっと軽量で、フォルダのコピーでもインストール出来て、より運用環境等での使用に適したデバッガとして、弊社では「Debugging Tools for Windows」というデバッガツール群をリリースしています。今連載ではこの中に含まれる windbg というデバッガを主に使っていきます。ではインストールをステップバイステップで見てみましょう。 1) ダウンロード Debugging Tools…