ホーム > プログラミングメモ > 開発ツール
 

開発ツール

プログラミングに使う開発環境、ツール類について まとめておきます。 単なる備忘録兼リンク集です。 (たまにはこういった気軽なテーマもいいのでは、と。)

MSDN

MSDNはMicrosoft Developer Networkの略です。 MSDNと言った場合、2種類のニュアンスがあります。 ひとつはMicrosoftが開発者向けに有償でソフトウェア類を提供しているサービス(サブスクリプション)の名称、 もうひとつはMicrosoftのWeb上で無料で閲覧できるWindowsプログラミングに関連する資料一式の総称です。

MSDN Home Page

MSDN Online Japan

MSDN Office Japan

以下で述べるVisual StudioやSDK, DDKなどはMSDNに加入すれば、入手可能です。 惜しむらくは、値段が高いことです。(プロフェッショナル・サブスクリプションで年間9万円弱)

Visual Studio

Visual Studioとは、アプリケーション開発・構築用の統合環境です。 有料で販売されています。 コンパイラ、アセンブラ、リンカ、デバッガ、エディタなどから構成されています。 本稿執筆時の最新版はVisual Studio .NET 2003で、使える言語は、Visual Basic、 Visual C++、Visual C#、Visual J#です。

Visual Studio ホームページ

Visual Studio Home

Visual C++ Toolkit

Visual C++ Toolkitとは、Microsoftが無償で公開・配布しているC++コンパイラ一式です。 BorlandのC++ Compilerに対抗して公開したのだろうと思います。

Visual C++ Toolkit 2003

Borland C++ Compiler 5.5

Platform SDK

Platform SDKとは、(主として)Windows用のアプリケーションを構築するために必要なソフトウェア・ドキュメント一式です。 SDKはSoftware Development Kitの略です。 コンパイラ、アセンブラ、リンカはもちろんのこと、ドキュメントも入っています。 これも無償で入手可能です。 ただ残念なのは、ベータ版等の最新版はbeta placeかMSDNでないと入手できないことです。

Platform SDK Update  <- IEで開くこと

beta place

DDK

DDKとはDriver Developmet Kitの略で、Windows用のドライバーを開発するために必要なソフトウェア・ドキュメント一式です。 これはCDを実費で入手する形になりますが、SDK同様にベータ版等の最新版はbeta placeかMSDNでないと入手できません。

Windows Driver Development Kit

WHDC(Windows Hardware and Driver Central)

WinDbg

WinDbgとは、Windows用ソフトウェアのデバッガです。 無償で入手可能です。 アプリケーションだけでなく、カーネルモードで動作するドライバー類もデバッグ可能です。 なお正確には、アプリケーション・ソフトウェアのデバッガはCDB、NTSDといい、 カーネルモード・ソフトウェアのデバッガはKDといいます。 WinDbgはそれらのGUIバージョンの総称です。

Debugging Tools for Windows

Visual StudioのデバッガでなくWinDbgを使うと多くのメリットがあります。 まずカーネルモードでのデバッグができることです。 カーネルモードでのデバッグはリモートデバッグで行います。 この場合、2台のPC(ホストPCとターゲットPC)をケーブル(クロスタイプのシリアルケーブルかIEEE1394ケーブル)で接続し、 カーネルモード・ソフトウェアをターゲットPC(OSがクラッシュしてもいいようなPC)で動作させます。 バグなどの原因によりカーネルモードでOSがクラッシュすると、ホストPC側にクラッシュした箇所の情報(逆アセンブルなど)が表示され、 さらにホストPCからのコマンド一発でターゲットPCを再起動させることもできます。(これがかなり楽しい。) カーネルモードからでないとアクセスできないレジスタ類、例えばGDTR、LDTR、IDTRなども自由に見られますし、 MSRも自由にRDMSR/WRMSRできます。(未定義MSRにRDMSRしても、OSはクラッシュしません。) もちろんセグメント・ディスクリプタのセレクタに関する情報も見られます。 (なおリモートデバッグはカーネルモード・ソフトウェアだけでなくアプリケーション・ソフトウェアのデバッグでも 使うことができます。)

もうひとつのメリットは64ビットプロセスのデバッグ(正確には64ビットプロセスへのアタッチ)ができることです。 本稿執筆時のVisual Studio 2005 betaはこれができなかったので、WinDbgを使いました。

最終更新日:2005年1月3日(月)

Copyright(C) 毛流麦花
 
64ビットCPU(AMD64+EM64T)でアセンブラ