概要 .NET アセンブリのデコンパイルやデバッグ、そしてソースの編集も可能なオープンソースのツール dnSpy を紹介します。 内容 dnSpy のダウンロード方法 dnSpy は、フリーでダウンロードすることが可能です。 1. dnSpy の GitHub のページに移動します。 2. 「Binaries」の「Latest release」をクリックします。 3. 最新のビルドをクリックします。 4. ダウンロードサイトより dnSpy をダウンロードします。 dnSpy の特徴 .NET アセンブリのデコンパイル 1. ダウンロードした Zip を展開した中にある dnSpy.exe (64 bit)、もしくは、dnSpy-x86.exe (32 bit) を起動します。 2. .NET アセンブリを「Assembly Explorer」のウィンドウにドラッグアンドドロップします。
概要・まとめ Visual Studio 2013 の新機能、「.NET アプリのダンプでメモリ解析」を紹介します。 本機能は、本番環境のメモリリークのトラブルシューティング時に使える機能です。 前提条件 以下の前提条件が必要になります。 ・Visual Studio のエディションは、Ultimate ・.NET のバージョンは、.NET 4.5 以降 内容 以下、「本番環境でメモリリークの調査を行う」というシナリオで記述していきます。 以下のパートに分けて、紹介してきます。 1. メモリリークの検出方法 2. ダンプの取得方法 3. Visual Studio 2013 Ultimate を使用した、.NET アプリのダンプのメモリ解析 3.1. メモリ使用状況の把握 3.2. メモリリークの特定 1. メモリリークの検出方法 メモリリークを検出するには「パフォーマンス モニター」が便
概要 Microsoft よりフリーで提供されているPerfView を用いて、ASP.NET のパフォーマンス問題の調査を行う方法を紹介します。 内容 PerfView のダウンロード・インストール 1. PerfView を、Microsoft のサイトよりダウンロードします。 2. インストール作業は必要ありません。解凍したZip ファイルの中にあるPerfView.exe がPerfView です。 準備 PerfView を用いて、ASP.NET のパフォーマンスを取得するには、「トレース」を有効にする必要があります。 クライアントOS で「トレース」を有効にする手順 「コントロール パネル」の「Windows の機能の有効化または無効化」から「インターネット インフォメーション サービス」→「World Wide Web サービス」→「状態と診断」→「トレース」にチェックをいれ
アセンブリバインドログビューア(Fuslogvw.exe)を利用するとアセンブリバインドの詳細を表示するとこができます。 したがって、Fuslogvw.exeを利用することにより、dllがみつからずに発生した例外時のトラブルシューティングに役に立ちます。 今回利用するサンプルアプリ あるアプリ(fuslogvw_Test1.exe)を実行すると例外System.IO.FileNotFoundExceptionが発生してしまった状況を考えます。 表示される例外の情報よりMyLibraryが見つからなかったために発生した例外であることはわかりますが、システムはどこを探したのかがわかりません。以下fuslogvw.exeを利用して、この情報を確認する方法を記述します。 ちなみに、fuslogvw_Test1.exeのソースコードは以下です。 Main()でMyLibrary.dllに定義があるC
Visual Studio 2010でプロファイルを行う方法を記述します。今回はプロファイルの中のCPU サンプリングについて取り上げます。 CPU サンプリングを使用すると、どの関数が頻繁に実行されたかがわかり、どこにボトルネックがあるのかを簡単に調べることができます。 今回使用するC#サンプルアプリ CPUに負荷をかける関数(=UseCPU())を実行するのみの単純な関数です。 func1()はUseCPUを1回、func2()はUseCPUを2回実行します。 using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace sampling{ class Program { static void UseCPU() //NumOfLoopはfor分のループ回数です。
今回はProcess Explorerのバージョン15.2より搭載された.NETアプリのスタック を確認する方法を紹介します。 今回利用するサンプルアプリ func1()、func2()と呼び、func2()の中でReadLine()を呼ぶだけの単純なアプリです。 using System; namespace ProcMonStack{ class Program { static void func2() { Console.WriteLine("ReadLine中"); Console.ReadLine(); } static void func1() { Console.WriteLine("func1"); func2(); } static void Main(string[] args) { func1(); } }} ReadLine()実行中のスタックをProcess E
概要 Visual Studio のデバッグ時に使える4つのTips を紹介します。 ・ビジュアライザー ・Ctrl キーで、ツールチップを半透明に ・コメントに対してツールチップを表示 ・イミディエイト ウインドウを利用したデバッグ 内容 Visual Studio のデバッグに使えるTips を4つ紹介します。 今回紹介するTips はVisual Studio 2013 のC# で動作確認しています。 ビジュアライザー ビジュアライザーを利用すると、変数を見やすい形で表示してくれます。 1. 変数の上にマウスカーソルをもっていき、ツールチップを表示させます。 この状態だと、文字列が最後まで表示されておらず、変数の値がわからない状態です。 2. 虫眼鏡の隣にある三角形をクリックし、”テキスト ビジュアライザー” をクリックします。 3. テキスト ビジュアライザーが起動し、全ての文字列
概要 アプリから呼ばれるAPI コールの引数・戻り値をモニター可能なフリーのツール API Monitor を紹介します。 今回は、インストールから基本的な使い方を紹介します。 内容 API Monitor を利用すると、アプリから呼ばれるAPI コールの引数・戻り値を、アプリを変更することなくモニターできます。 以下、API Monitor のダウンロード、インストール、基本的な使い方を紹介します。 API Monitor のダウンロード API Monitor は作者のページからダウンロードできます。 x86 版とx64 版がありますので、アーキテクチャに合致した該当のモジュールをダウンロードしてください。 インストールを必要としないPortable 版もあります。 API Monitor のダウンロード インストールはダウンロードしたインストーラー実行し、ウィザードを進んでいくだけで
概要 API コールの引数・戻り値の確認や、API の上書きが可能なオープンソースのツールWinAPIOverride を紹介します。 今回は、API コールの引数・戻り値の確認方法を紹介します。 次回、API の上書き方法を紹介します。 内容 WinAPIOverride のダウンロード WinAPIOverride の作者のホームページに行き、「Download」からWinAPIOverride がダウンロードできます。 ソースコードも公開されており、ソースコードは「Sources」からダウンロードできます。 WinAPIOverride は、非商用利用に限りフリーで使用することが可能です。 WinAPIOverride を用いたAPI コールの引数・戻りの確認方法 WinAPIOverride を用いたAPI コールの引数・戻り値の確認方法を紹介します。Windows 7 x64 で
概要 ネットワークのレイテンシーや帯域等を制御できるNetwork Emulator for Windows Toolkit を紹介します。 内容 ダウンロード・インストール Network Emulator for Windows Toolkit (= NEWT)はMARCOさんのブログよりダウンロードできます。 URLは、https://blog.mrpol.nl/2010/01/14/network-emulator-toolkit/ です。 インストールも、インストーラーを実行するだけで数分で終了します。 基本的な使い方 NEWT の基本的な使い方として、受信のレイテンシーを増加させてみます。 1. スタートにある”Network Emulator Client” を起動します。 2. “Configuration” → “New Link” をクリックします。 3. 矢印が表示さ
概要 LINQ クエリのみならず、任意のC#/VB が実行可能な、フリーで使用可能なLINQPad を紹介します。 今回は、LINQPad を用いて、任意のC#/VB を実行する方法を紹介します。 内容 前回は、LINQPad のインストール方法・LINQ クエリを実行する方法を紹介しました。 今回は、任意のC#/VB を実行する方法を紹介します。全てフリーで使用可能な機能です。 単一のC#/VB を実行する方法 1. “Language” を”C# Expession” にし、単一文のC# を入力します。 2. 緑色の三角のアイコンをクリックしC# を実行すると、結果が表示されます。 複数文の任意のC#/VB を実行する方法 複数文のC# を実行するには、”Language” を”C# Statement(s)” にすればOK です。 参照や名前空間を追加する方法 参照や名前空間を追加し
概要 LINQ クエリのみならず、任意のC#/VB が実行可能な、フリーでも使用可能なLINQPad を紹介します。 今回はLINQPad を用いて、LINQ クエリの実行方法を紹介します。 内容 LINQPad とは LINQPad を使うと、SQL やXML 等にLINQ クエリを発行することができます。また、任意のC#/VB を実行することもできます。 LINQPad はフリーで使用することが可能ですが、有料版ではintellisense の機能が使えたり、データーベースの編集ができるようになったりします。(有料版との比較は、LINQPad のホームページ(英語)に記載があります) 以下、LINQPad のインストール方法・LINQ クエリを実行する方法を紹介します。全てフリーで使用可能な機能です。 次回、任意のC#/VB を実行する方法を紹介します。 LINQPad のインストール
Microsoft のサイトでも公開されている通り、Visual Studio を利用すると.NET のソースデバッグを実行することが可能です。 ただし、上記のMicrosoft のサイトの方法では、.NET のモジュールが最適化されているため、例えばソースデバッグ時にローカル変数が確認できません。 そこで、今回紹介する以下の方法を用いると、.NET のソースデバッグ時に、.NET のモジュールの最適化を無効にしローカル変数も確認できるようになります。 最適化を無効にして、.NET のソースデバッグをする方法 以下、Visual Studio 2013 で試した方法を紹介します。 1. コマンドプロンプトを起動します。 2. 以下のコマンドを実行し、環境変数をセットします。 *「12.0」の部分は、Visual Studio のバージョンごとに代わります。 4. .NET 4.5.1 以上
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く