BT

.NET向けデッドロックのデバッグ

| 作者: Jonathan Allen フォローする 525 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2008年8月23日. 推定読書時間: 1 分 |

難しい設定などは一切なしで、.NETにはデッドロック検出のサポートがない。通常、デッドロックのチェックはデバッガを取り付けて、各スレッドを検査することでおこなわれる。CGUIデバッグツール、HawkEyeorneliuの作成者であるCorneliu氏が、その代わりになるものを提供してくれた。氏のACorns.Debuggingツールは、それらを再コンパイルすることなく、ほとんどの.NETプログラムに対して機能する。Corneliu氏は、以下のようにまとめている。

  1. いかなる方法や形式による、コードの再コンパイルが必要がない。また、外部ライブラリの参照やコード内の特殊型のロックを使用するために、コードを修正する必要もない。
  2. PDBファイルがない、リリースビルドで動作する。
  3. 実行中のプロセスや以前に取り込んだメモリダンプで動作する。
  4. 複数のスレッドにまたがるデッドロックを検出し、詳細なコールスタックおよびロック使用に関する情報を返す。
  5. スレッドが他のスレッドによって取得されたロックを待機しているデッドロックのみを検出する。
  6. 食事する哲学者の問題および待機やウェイク /チェックやロック時間の組み合わせで作成されたデッドロックは検出しない。
  7. cdb.exe(MicrosoftのWindowsパッケージ向け無償デバッグツールの一部)と外部の依存関係がある。
  8. インストールが全く必要ない。xcopy開発。
  9. そして何よりも、無償である(ソースコードはまもなく公開される予定)

並列プログラミングを始めて間もない人向けに、Corneliu氏はデッドロックの簡潔な導入とプログラム結果の解釈(リンク)に関する解説を提供している。

ACorns.Debugging.FindDeadlock.1.0.1.zip (ZIP)はMicrosoftのDebugging Tools for Windows(リンク)に依存している。

原文はこちらです:http://www.infoq.com/news/2008/08/ACorns.Debugging

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT