So-net無料ブログ作成

Windowsプロファイルの掃除(cprofile /l /i) [Tools]

プロファイルの掃除(Cprofile:Windows2003,WindowsXP)

指定したプロファイルの無駄な領域を消去、レジストリのユーザー固有の関連付けが無効になっている場合は、その関連付けを削除します。
プロファイルごとに確認メッセージを表示しながらすべてのローカル プロファイルから無駄な領域を消去するには、次のように入力します。


Microsoftの不具合解析ツール(Userdump、Dheapmon、Kanalyze) [Tools]


Userdump, Dheapmon と Kanalyzeの3種類のツールがMicrosoftから提供されています。
ダウンロード先は、"http://www.microsoft.com/japan/windowsserver2003/downloads/supporttools.mspx"です。
Desktop Heap Monitor
Desktop Heap Monitorは、 デスクトップヒープの使用量などの情報をレポートするツールです。
スケジュールなどで、定期的にデスクトップヒープの使用状況を確認できるようにすると便利です。

シンボルのインストール


ヒープの確認

desktop heapの割り当てはレジストリを操作すると増やせます。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems\Windowsの SharedSection=1024,3072,512 の2番目のパラメータです。
パラメータ:
1番目:システムヒープサイズ
2番目:インタラクティブデスクトップヒープサイズ(Windowsオブジェクトが使用)
3番目:non-interactiveデスクトップヒープサイズ(512Kで、およそ2,500のウインドウ、メニュー、ペン、アイコン、その他のオブジェクト)

User Mode Process Dumper User Mode Process Dumperはユーザーモードで動作するアプリケーションのトラブルシューティングツールです。 実行中の任意のプロセスにデバッガをアタッチすることなしに、 ホットキー操作、 例外監視、 プロセス終了監視など、 様々な条件をトリガーとして、 そのプロセスのスナップ ショット ダンプを生成したり、 プロセス終了時の情報を記録することができます。
設定方法
1.コントロールパネルの、[Process Dump] を選択し実行します。
2.[Exception Monitoring] タブをクリックし、[New] をクリックします。
3.目的のプログラム名を [Monitor] の一覧に追加します。
4.[OK] をクリックします。
5.[Monitor] ボックスでプログラム名をクリックし、[Rules] をクリックします。
6.Userdump.exe を実行するエラーの種類を選択します。
*エラーが発生するとUserdump.exeが起動され、%SystemRoot% フォルダにダンプ ファイル (.dmp) が作成されます。
* ダンプファイルは、この .dmp ファイルを解析すると、Winlogon のアクセス違反エラーの原因を特定することができます。

Kernel Memory Space Analyzer Kernel Memory Space Analyzerはカーネルダンプを解析するためのツールです。 Kernel Memory Space Analyzer は Windows カーネル内の主要なデータアイテムの状態と関連性を閲覧する機能を提供するともに、 解析したデータアイテムに異常な状態がある場合にこれを検知し報告します。 また、 システムのハングアップやスローダウンの原因となりうるリソースのデッドロックや待ち状態の連鎖などのシステム内の異常な状態を解析し、 問題要因の可能性を報告します。


ソースコードの検索エンジン(Google Code Search) [Tools]


公開ソースコードの検索エンジンです。

既に、多くの人が使っていると思いますが、Google Code Searchという検索エンジンが有ります。 ソースコードのサンプルを調べたり、ライブラリを使いたい(ライセンスに応じた使用)場合に非常に助かります。 検索オプションは、言語、ライセンス、パッケージ、ファイルなどが指定できます。


Subversionの基本コマンド [Tools]

Subversionの基本コマンド

windowsでSubversionを使用する場合はGUIが使えるのですが、Linuxでも使えるコマンドの使用例のメモです。

・リポジトリの作成
Subversionリポジトリに2つの保存形式が選べます。1つは全てのデータをBerkeleyDBデータベースに保存する方法です。もう一つはFSFSと呼ばれる独自の形式で構成した通常のファイルの形にデータを保存する方法です。 私の場合は、FSFSを使っているのでFSFSを例にします。
リポジトリのディレクトリ作成

リポジトリの初期化

--fs-type fsfs データベースをFSFSに選びます。 d:/svnRepos 作成するレポジトリを指定します。

・インポート
リポジトリにバージョン管理されていないファイルをコミットします。
svnserve.confでパスワード設定をしている場合は、[users]セクションに書いたユーザ名、パスワードでログインします。

-mオプションはログメッセージ指定です。
d:/testはインポートするディレクトリパス名です。省略した場合は、カレントディレクトリのファイルを対象とします。
svn://xxxx/svnReposがインポートする先のリポジトリを指定します。

・チェックアウト
チェックアウトはsvncheckout(co)コマンドを使用します。 以下のようにチェックアウトするリポジトリのURLを指定すると、ローカルにURLのベース名に作業コピーをチェックアウトします。URLの後にローカルのパスを指定してやれば、そこに作業コピーをチェックアウトします。
また、--revisionオプションでレビジョン番号を指定することができます。

・コミット
コミットは、編集したファイルをリポジトリに登録します。
-m オプションで編集内容をログに残します。

・作業コピーの状態
作業場所のツリー全ての修正を検出します。

桁位置 ステータス 説明
' ' 変更無し
'A' 追加予告されています
'D' 削除予告されています
'M' 修正されました
'C' 作業コピー中で置き換えられました
'R' リポジトリから受け取った更新によって衝突した状態にあります
'X' 外部定義に関係していますす
'I' 無視されている属性です
'?' バージョン管理下にありません
'!' ファイルが失われたかディレクトリが不完全
'~' オブジェクト (ファイル、ディレクトリ、リンク)としてバージョン管理されていますが、別の種類のオブジェクトで置き換えられてしまいました
' ' 修正無し
'M' 修正されました
'C' リポジトリから受け取った属性更新によって衝突
' ' ロックされていません
'L' ロックされています
' ' コミット待ち無し
'+' コミット待ち有り
' ' 親ディレクトリの子供
'S' 切り替わっています
' ' ファイルはロックされていません
'K' 作業コピー中でロックされています
'O' ユーザあるいは他の作業コピーによってロックされています
'T' ロックされていましたが、それは 「横取りされ」、無効となりました。このファイルは現在リポジトリ中でロックされています
'B' でロックされていましたが、それは「破壊され」て無効となりました
' ' アイテムは最新です
'*' サーバに新しいバージョンが存在します

・履歴の確認
ファイルやディレクトリの履歴の確認を行います。

・変更点の差分の確認
.svn領域にある「修正元リビジョンのコピー」に対して作業コピー中のファイルとの比較を行ういます。

・編集の取り消し
.svn領域にある「修正元リビジョン」のコピーで上書きすることによって修正以前の状態に戻すします。

・以前のリビジョンに戻す
現在のリビジョンを破棄して指定したリビジョンに戻します。

・以前のリビジョンの確認
指定したリビジョンを表示します。

・差分の確認
「修正元リビジョンのコピー」に対して作業コピー中のファイルとの比較を行います。

・編集の取り消し
.svn領域にある「修正元リビジョン」のコピーで上書きすることによって修正以前の状態に戻します。

・アイテムの追加
リポジトリに追加する予告します。

・アイテムの削除
作業コピーから直ちに削除されるます。

・アイテムのコピー
ファイルが次のコミットでリポジトリに追加されます。

・作業コピーの更新
他の作業コピーで行われたリポジトリの変更を手元のコピーに反映させるます。

・全ての編集の取り消し
自分の変更を捨てて編集をやり直す

・ブランチの作成
あるソフトの別バージョンを作成する場合に使用します
calcプロジェクトのtrunkからmy-calc-branchというブランチを作成例

・アイテムの移動
アイテムの移動あるいは名前の変更を行います。

衝突の検出
update実行時に衝突を検出すると3種類のファイルを作業コピーに作成し、このファイルが削除されるまでコミットが出来ません。
衝突を解消したらsvn resolvedコマンドを実行して一時ファイルを削除します。

衝突の解消

方法 内容
衝突テキストを手作業でマージ 衝突個所は次のような「衝突マーカ」で示される。
<<<<<<< .mine
Select
From
WHERE"
=======
INSERT
DELETE
>>>>>>> .r2
「<<<<<<<」から「=======」までが手元の変更、「=======」から「>>>>>>>」までがリポジトリに加えられていた変更である。"
この部分を適切に変更し,svn resolved,svn commitを実行する。
作業ファイルに、一時ファイルのどれかを上書 変更を捨てる場合にはSubversionが作った一時ファイルのどれかを単に作業コピーに上書きする
ローカルでした全ての変更を捨てる svn revertを実行

衝突検出時に作成されるファイル

ファイル名 内容
filename.mine 作業コピーを更新する前に作業コピー中にあったファイル
filename.rOLDREV 作業コピーを更新する前のBASEリビジョンにあったファイル
filename.rNEWREV 作業コピーを更新した時のサーバから受け取ったファイル--HEADリビジョンに対応

コマンド一覧

モジュールの取り込み 変更点の確認
作業内容 コマンド 備考
インポート svn import リポジトリにファイルを登録
モジュールの取り出し svn checkout 最新レビジョンの取得
作業コピーの更新 svn update 最新レビジョンの取得
変更 svn add リポジトリにファイルを追加
svn delete リポジトリのファイルを削除
svn move リポジトリのファイルを移動
svn copy リポジトリのファイルのコピー
自分の変更点の確認 svn status 自分がツリーにした修正の検出
svn diff 変更点の表示
svn revert 修正以前の状態に戻す
マージ svn merge 衝突ファイルの修正
svn resolve 衝突を解消通知
変更のコミット svn commit 変更点のすべてをリポジトリに送信
履歴の確認 svn log ログメッセージとリビジョンでのパス変更表示
svn diff 変更点の表示
svn cat ファイルを抽出し画面に表示
svn list

リビジョンのファイルやディレクトリを一覧表示


デバッグ支援ツール(AppVerifier) [Tools]


デバッグ支援ツール(AppVerifier)

Microsoft Application Verifier (AppVerifier)は、アンマネージコードのデバッグ支援ツールでマイクロソフトから無償でダウンロードすることが出来ます。
AppVerifierは、ダウンロードセンターから入手できます。
数年前までは、メモリリークの検証などにサードパーティーのチェックツールを使い開発を行っていましたが、マイクロソフトから無償で提供されるようになったので積極的に使用することを薦めます
(作成したプログラムの不安を軽減することはプログラマーの精神衛生に良いことだと思います。) AppVerifierは、デバッグとログ収集の機能が有るので、開発者が開発時に使う場合とシステム管理者が障害発生時に問題点の特定のために使う二つの使い方が出来ます。

収集する問題点:
・APIの使用方法
・メモリのアクセス違反
・変数の初期化
・ハンドルの使用方法
・リソース不足
・クリティカルセクションの適正
・低権限時の実行の確認


アクセス解析(GoogleAnalytics) [Tools]

アクセス解析

Google Analyticsというアクセス解析が有ります。この解析はかなり面白く、レポートの視点が経営層、マーケッティング担当者とウェッブマスターの3つお視点からレポートを表示してくれます。基本的にはAdWords等を使用している企業用と思いますが、個人ベースで他のアクセス解析ツールと併用しても面白いと思います。


Sysinternalsのツール [Tools]

Sysinternals

Sysinternalsは、Windowsのシステム管理または開発者にとって、とても有効なツールが沢山提供されています。 このサイトは、Winternals Softwareのサイトでしたが、2006年7月にマイクロソフトが買収しました。 うれしいことに、Winternals Softwareが提供していたフリーツールはそのまま提供されています。

ツールの全てはとても書ききれないので、一度訪問して確認してください。
大きく6個のカテゴリーに別けてあります。
・File and Disk
・Networking
・Processes and Threads
・Security
・System Information
・Miscellaneous

System Information
Autorunsコマンド
ロードされている情報の一覧表示、オン/オフおよび削除が出来ます。msconfigより豊富な情報を提供してくれます。GUIで項目別に分けてあるので分かりやすく、データをファイルにも落とせます。
このコマンドは、自動起動のオブジェクトを全方位的に表示してくれるので、STARTUPらレジストリを個々に調べなくてもすみます。 コマンド形式のautorunscもあり用途により使い分けることが出来ます。
表示項目
・Logon スタートアップフォルダに登録されているアプリケーション
・Explorer エクスプローラ(ツールバーなど)に登録されているオブジェクト
・Internet Explorer IEに登録されているオブジェクト
・Services サービスに登録されているオブジェクト
・Drivers システムに登録されている全てのドライバー
・Scheduled Tasks ブート及びログインで登録されているタスク
・AppInit DLLs アプリケーションの初期化時に使用しているDLL
・Boot Execute ブート時に起動されるネイティブイメージ
・Image Hijacks イメージファイルいの起動、AUTOSTART時に使用するオブジェクト
・Known DLLs Windowsがロードした全てのDLL
・Winlogon Notifications WinLogonで登録されているDLL
・Winsock Providers Winsock関連で登録されているDLL
・LSA Providers セキュリティーパッケージに登録されているオブジェクト
・Printer Monitor プリンタモニタに登録されているオブジェクト


ファイル管理(Subversion) [Tools]


ファイル管理(Subversion)

Subversionは、ソフトウェア構成管理システム (SCMシステム)/ソース管理システムです。CVSの問題点を克服し、基本的な使い方はCVSの使い方を継承した新しいバージョン管理システムとして開発されているのがSubversionです。 Subversionは、Windows、Linux、Unix、MacOS用のバイナリパッケージをSubversionのウェブサイトからダウンロードする事が出来ます。

Windows用に用意されているクライアントは、従来のFTPクライアントのようなGUIを持つRapidSVN(日本語無し)と、右クリックメニューを拡張するTortoiseSVN(日本語化パッチ有り)が有ります。TortoiseSVNは、エクスプローラの右クリックメニューに表示される為、違和感無くSubversionを使うことが出来ます。


エマージェンシーCD(Bart's PE Builder) [Tools]

エマージェンシーCD(Bart's PE Builder)

PCなどの障害復旧及び、バックアップ使用しています。

PCが起動しないような障害が発生した場合は、ブートFD等で起動して復旧や重要なファイルのサルベージを行いますが、このとき緊急用ブートFDが無い場合は、泣く泣くOSからのクリアインストールとなります。ファイルの抜き取りも、HDを外し別のPCに接続して取り出すなど時間と手間が掛かります。

このような時、私は、Bart's PE Builderで作成した緊急CDを使っています。
PE Builderは、CD-ROM起動でWindowsXPが動く優れもので各種ドライバーを予め登録しておけば色々なPC(サーバを含む)で起動することが出来ますが、WindowsXPの使用許諾契約書に【本ソフトウェアのコピーを 1 部に限り本コンピュータにインストールして使用、アクセス、表示、および実行することができます。】と有るのでライセンスに則った使用を心がけてください。

UIもWindowsXPなのでGUIが使えて操作しやすく、ネットワークやUSBも使用でき大変重宝しています。


メッセージを送る

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。