タグ

debugに関するWackyのブックマーク (130)

  • メモリダンプから.NETのメモリ状態を探りたい - Grani Engineering Blog

    こんにちは、@mayukiです。 以前、このブログにてダンプ解析入門 - Visual Studioでの可視化によるC#トラブルシューティングというスタックオーバーフローのような問題を調査する方法について触れましたが、今回はダンプを元にメモリ周りの状態を見ていく方法について調べたので少しまとめてみました。 長い時間実行するようなアプリケーション(アプリケーションサーバーなど)ではメモリの使用状況やメモリリークなどを調査したいというケースがたまにやってきます。そんなときにはプロセスのメモリダンプを取得して解析することで問題の原因がわかりそう…そんなシチュエーションで役立つかもしれません。 お品書き お品書き 前提 メモ: 64bit コンピューターで動作している32bit プロセスのダンプをとる ダンプのみどころ どのツールで解析すれば? Visual Studioを試してみる DebugD

    メモリダンプから.NETのメモリ状態を探りたい - Grani Engineering Blog
  • GDB で php プロセスの覗き見 - hibomaの日記

    php を GDB でデバッグするのが便利。 以下のエントリで手法が説明されている qiita.com blog.anatoo.jp stackoverflow.com 以降、私が書くのはこれらのエントリに書かれている手順を真似たものなので、詳細を知るにあたっては是非リンク先も読んでほしい 検証: GDB で実行中の php プロセスを覗き見る GDB は実行中のプロセスを解析の対象とすることもできる。このエントリでは、無限ループするバグった php を GDB で覗いてみよう <?php function third($bar = "") { for (;;) { } } function second() { third(); } function first() { second(); } first(); 検証環境 CentOS7.4 (1708) php-5.4.16-42.el

    GDB で php プロセスの覗き見 - hibomaの日記
  • Androidアプリのメモリリーク対策手法 | Bescottee

    googleAndroid開発者向け ブログに「Memory Analysis for Android Applications」という記事があったため、自分のために訳しました。参考になれば幸いです。エントリを見るうえで、eclipse の基的な使い方を理解している必要があります。 Androidアプリのメモリ解析手法 Dalvikランタイムは、ガベージコレクトしてくれるかもしれませんが、それはメモリ管理を行わなくてもよいというわけではありません。モバイル端末上でのメモリ利用状況は特に注意を払わなければなりません。投稿では、開発するアプリのメモリ利用状況の把握を支援する Android SDK で提供しているメモリプロファイリングツール群のいくつかを紹介させて頂きます。 メモリ利用時の問題はいくつか明らかになっています。例えば、もしあなたのアプリがユーザの画面タッチ操作のたびにメモ

  • Visual Studioのプロファイラを使って性能評価を行う(1/2) - @IT

    アプリケーションのギアを上げよう ― Visual Studio 2010でアプリケーションのパフォーマンス・チューニング ― 第2回 Visual Studioのプロファイラを使って性能評価を行う 亀川 和史 2011/05/31 Visual Studio 2010 Premiumエディションおよび、Ultimateエディションには、アプリケーションの性能上の問題を計測、評価、特定するための「プロファイラ」と呼ばれる機能がついている。使いこなせばアプリケーションの性能上の問題を早期に検出できるため、大変有用な機能である。 【参考】MSDN:プロファイリング ツールを使用したアプリケーション パフォーマンスの分析 ■Visual Studio 2010プロファイラによる性能測定 Visual Studioには以前のバージョンからプロファイリング・ツールが付属していたが、Visual St

  • 【ハウツー】レッツ! Windows 7 - システム編 「イベントビューアー」を活用する (2) イベントビューアーの構成 | パソコン | マイコミジャーナル

  • Rammapツールでメモリの詳細な利用状況を調査する - @IT

    TIPS「リソース・モニタでメモリの利用状況をモニタする」では、タスク・マネージャに付属するリソース・モニタ・ツールを使って、Windowsシステムのメモリの利用状況を調査する方法を紹介した。リソース・モニタはWindows Vista/Windows Server 2008以降のWindows OSで利用できる。 ただしリソース・モニタでは、全体的なメモリの利用状況は分かるが、例えば使用中のメモリ・ページがどのようなプロセスや用途(カーネル・メモリかデバイス・ドライバかファイル・キャッシュか、など)に使われているかは分からない。このような細かい利用状況は通常は知る必要がないだろうが、開発者や、高度なトラブル・シューティング作業を行うエンジニアにとっては必要な情報である。 メモリの詳細な利用状況を知るにはWindows向けデバッガ「Debugging Tools for Windows(W

  • http://www.putise.co.cc/server/windows-server-2008/adplus-ntsd

  • Double Slash: LoderLock

    ひさしぶりの連休なのでオーディオケーブルをつくったり やりかけ放置プレイのソフトシンセのコードをかいている。 ひさびさにコードを書こうと思ったら実行すると VSのデバッガがLoaderLockとかいうエラーをだすようになってた・・・(なぜ キー入力をしてるだけなんだが・・・ ヘルプによるとどっかでDLLでマネージコードを呼び出してるのが 原因らしい。てかそんなことしてないはずなんだが・・・ ・・・ 1時間くらいコード見てなやんだあげく Google先生でしらべてたら・・・ どうやらiTunesが原因らしい。 ぅぉ たしかに俺iTunes立ち上げてる。→ iTunes終了 → エラーでなくなる マジですか!? てか関係ないアプリのエラー拾うってどんなグローバルなデバッガですか>.NET まぁスタンドアローンで実行するとぜんぜんエラーおきないから問題ないぽいが iTunesたちあげてると使えい

    Wacky
    Wacky 2010/05/16
    VSのデバッガがLoaderLockとかいうエラーをだすようになってた
  • 二流プログラマの三流な日常: 開発に欠かせないツール(ネイティブアプリ編)

    開発の際にツールを使うとかなり効率がアップするわけですが、地道にデバッカを睨んでいるだけの人が多いのには驚かされます。 そんな訳でお勧め出来るフリーのツールを紹介します。 DependencyWalker VCに付属しているので、これを知らない人は居ないでしょう。DLLから関数が正しくエクスポートされているか、EXEからDLLが正しくロード出来るかを調べるのに良く使います。 ProcessWalker ProcessExplorerは知っていても、こちらは知らない人が多い。起動中のプロセスに関する情報を取得します。かなり使いやすい。ProcessExplorerと併用がお勧め。 OllyDbg ユーザモード最強デバッカ(&逆アセンブラ)。アセンブルソースの隣にCの擬似コードが表示されるのは非常にGOOD。ソースを見られない場合、コレで勝手に原因を解析するとキチガイ扱いされます。 OLEVi

  • Windows: Windows の限界に挑む: ハンドル

    この記事は、「Windows の限界に挑む」シリーズの 5 回目の投稿です。この一連の記事では、物理メモリ、仮想メモリ、プロセス、スレッドなど、Windows で管理できるリソースの数量とサイズの上限について扱ってきました。 Windows の限界に挑む: 物理メモリ Windows の限界に挑む: 仮想メモリ Windows の限界に挑む: ページ プールと非ページ プール Windows の限界に挑む: プロセスとスレッド 今回は、ハンドルの実装の限界を探り、解説します。ハンドルは、アプリケーションが操作する基的なオペレーティング システムのオブジェクト (ファイル、レジストリ キー、同期プリミティブ、共有メモリなど) の開かれているインスタンスを表すデータ構造です。1 つのプロセスが作成できるハンドルの数については、2 つの制限があります。システムで設定されているプロセスごとのハン

    Windows: Windows の限界に挑む: ハンドル
  • !htrace コマンドを利用したハンドルリークのデバッグ方法

    このページでは !htrace デバッグコマンドを用いて、ハンドルリークを発生させている箇所を特定する方法をご紹介します。 ハンドルリークの概要はこちらをご覧ください。 準備 リークするプログラムの準備 ここではページレベル HTTP モジュールを利用しハンドルリークを発生させて、調査方法について具体的に解説しています。 テスト用プログラムの作成方法は ハンドルリークテスト用 HTTP モジュールの作成 を見てください。 もちろん、番環境で調査するときはこんなプログラムを仕掛けちゃダメですよ! 準備 ~ Debugging Windows for Windows のインストールとシンボルパスの設定 マイクロソフトのサイトからダウンロード可能な Debugging Tools for Windows をインストールし、シンボルパスを設定してください。 現象の確認 パフォーマンスモニタで、w

    !htrace コマンドを利用したハンドルリークのデバッグ方法
    Wacky
    Wacky 2010/04/30
  • Archived MSDN and TechNet Blogs | Microsoft Docs

    Archived MSDN and TechNet Blogs 2/7/2020 2 minutes to read MSDN and TechNet blog sites have been retired, and blog content has been migrated and archived here. Archived blogs are grouped alphabetically by the initial letter of the blog name. Blogs and blog posts can be searched by their names, using the Search box at the top of the page. Actively updated blogs have been moved to other blog sites,

    Wacky
    Wacky 2010/04/29
    マネージコード用のデバッガ拡張 psscor2.dll が一般公開されました。対応する CLR のバージョンは、2.0 ~ 3.5 です。
  • SOS.dll (SOS デバッガー拡張) - .NET Framework

    重要 この記事では、SOS デバッグ拡張機能の .NET Framework バージョンについて説明します。 新しい .NET (Core) バージョンのツールについては、「 SOS デバッグ拡張機能を参照してください。 SOS デバッグ拡張機能 (SOS.dll) は、内部共通言語ランタイム (CLR) 環境に関する情報を提供することで、Visual Studio と Windows デバッガー (WinDbg.exe) でマネージド プログラムをデバッグするのに役立ちます。 このツールを使用するには、プロジェクトでアンマネージ デバッグが有効になっている必要があります。 SOS.dll は、.NET Framework と共に自動的にインストールされます。 Visual Studio で SOS.dll を使用するには、Windows ドライバー開発キット (WDK) をインストールし

    SOS.dll (SOS デバッガー拡張) - .NET Framework
    Wacky
    Wacky 2010/04/29
    SOS デバッガー拡張 (SOS.dll) を使用して内部の共通言語ランタイム (CLR: Common Language Runtime) 環境に関する情報を渡すことにより、WinDbg.exe デバッガーおよび Visual Studio でマネージ プログラムをデバッグできます。
  • How to detect and avoid memory and resources leaks in .NET applications

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. By Fabrice Marguerie Despite what a lot of people believe, it's easy to introduce memory and resources leaks in .NET applications. The Garbage Collector, or GC for close friends, is not a magician who would completely relieve you from taking care of your

    How to detect and avoid memory and resources leaks in .NET applications
  • CUIベースなのに無駄にビジュアルなPython用デバッガ - pudb — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー pudbは,CUI環境(つまりシェル)で動くGUIライクなデバッガ。Pythonには標準でpdbというデバッガがついてくるけど,コマンドラインベースでちょっと使い方が面倒だよね。pudbはpdbよりノリがいい。まあスクリーンショットを見てもらうのが早いかな。 CUIベースでGUIっぽいことをするというのは,レトロなノリだよなあ。でもCUIベースならシェルが動く環境ならどこでも動く,という利点もある。ローカルのPythonでもssh越しのPythonでも,シェル上なら同じように動くというのは嬉しい。 インストールは簡単。いつものごとくeasy_installを使って「$ easy_ins

    Wacky
    Wacky 2010/02/15
    CUIベースならシェルが動く環境ならどこでも動く,という利点もある。ローカルのPythonでもssh越しのPythonでも,シェル上なら同じように動くというのは嬉しい。
  • .NET ガベージ コレクション ヒープをプロファイリングする

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 .NET ガベージ コレクション ヒープをプロファイリングする S. Ramaswamy、V. Morrison 2009 年 6 月号の MSDN Magazine の記事「.NET アプリケーションのメモリ使用量の監査」では、タスク マネージャー、PerfMon、VADump などのツールを使用してメモリの使用量を監視する方法について説明しました。これらのツールは、アプリケーションの全体的なメモリ使用量を監視するのに役立ちます。通常、.NET アプリケーションで大量のメモリを消費している場合、その原因は、アプリケーションで多数の DLL を読み込んでいるか、アプリケーションによって .NET ガベージ コ

    .NET ガベージ コレクション ヒープをプロファイリングする
    Wacky
    Wacky 2009/12/02
    XMLView というプログラムを使用します。これは、XML ファイルの簡易ビューアーですが、高いスケーラビリティを備えています。
  • Mono.Debugger.Soft - ものがたり(旧)

    Monoに新しく登場したsoft debuggerの話がたいへん分かりやすくまとめられている: http://tirania.org/blog/archive/2009/Nov-04.html soft debuggerについてはここで詳しく説明されているのだけど、 http://mono-project.com/Soft_Debugger iPhoneやPlayStation3など、従来のmono debuggerやgdbが存在しない環境でデバッグできるような仕組みになっている。動的コード生成が行えない以上、デバッグのために必要なコードは全て事前コンパイルされて埋め込まれないといけないわけだ(managed codeのレベルで増えるわけではない)。 soft debuggerはそんなに厳密なものではないので、あくまでランタイムが「デバッグのために止まってもいいかな」と思った時にコールバッ

    Mono.Debugger.Soft - ものがたり(旧)
    Wacky
    Wacky 2009/11/12
    soft debuggerはそんなに厳密なものではないので、あくまでランタイムが「デバッグのために止まってもいいかな」と思った時にコールバックを呼び出す。らしい。あくまでsoftなdebuggerだというわけだ。
  • 非対話的デバッガ YouDebug - 川口耕介のブログ

    バグ修正はプログラマの仕事の一つですが、このうちのかなりの時間は問題を再現することに費やされます。 症状からバグの全容が推察できる時もあるのですが、多くの場合には、手元で問題を再現し、更なるデータを集めることによって始めてバグが理解されるからです。しかし、環境に依存する問題などは再現が難しい場合もあります。どうしたらよいでしょうか。 ロギングというのがよく行われる解決・予防策ですが、「デバッガを走らせて変数xの値を教えてくれればいいのに!」と思った事があるのは私だけではないと思います。ロギングと異なり、デバッガは予めプログラムに障害発生を予期するコードを埋め込んでおく必要はありません。また、呼び出し元のローカル変数をアクセスしたり、任意の式を評価したり、あるいは変数の値を変更することもできてしまいます。当たり前ですが、障害分析ツールとしてはデバッガはずっと強力だからです。 ではなぜユーザー

    非対話的デバッガ YouDebug - 川口耕介のブログ
    Wacky
    Wacky 2009/11/12
    プログラマがGUIとマウスを使って駆動するかわりに、YouDebugはDSLライクなGroovyスクリプトを使って駆動されます。
  • Decrypt my World

  • Get Started: Debugging Memory Related Issues in .Net Application Using WinDBG and SOS

    Get Started: Debugging Memory Related Issues in .Net Application Using WinDBG and SOS Contents Introduction What Do I Mean By Bad Shaped Application? Why WinDBG + SOS? Things to Understand Before Using WinDBG and SOS What is WinDBG? What Can WinDBG Do? What is SOS.dll (Son of Strike)? Debugging Essentials How to Configure WinDBG? WinDBG and SOS Commands Executing Batch Commands CPU Registers Captu

    Get Started: Debugging Memory Related Issues in .Net Application Using WinDBG and SOS