タグ

debugに関するtaka222のブックマーク (9)

  • プロファイラのしくみ steps to phantasien t(2007-08-23)

    UNIX 偏向文書 artu の中で "Measure Before Optimizing" と説く Raymond は, 同時にプロファイラの計測機構 (instrumentation) がもたらすノイズについて注意を促している. 私のプロファイラ信仰に不安が翳を落とす. gprof ノイズはさておき, そもそもプロファイラはどんな仕組みで速度を測っているんだろう. gprof のマニュアル によると, GNU 一族のプロファイラは次のように実装されている: まず "-pg" オプションつきの gcc でソースをコンパイルする. この指示を受けたコンパイラは各関数の冒頭に "mcount" という名前の関数呼出しを加える. リンクする C のランタイムも専用バージョン (gcrt0.o) に差し替わる. このランタイムは裏で profil() 関数を使いタイマを仕掛ける. そのタイマは発

  • 2009-08-05 - 小野マトペの業務日誌(アニメ制作してない篇)

    PHPでパフォーマンスチューニングをする時、特定のロジックの実行にどれくらい時間がかかっているのか知りたいことがよくある。よくあるというか、チューニングにプロファイリングは必須だ。世の中には高度なプロファイリングツールがあれこれあるみたいだけど、高機能すぎて僕にはよく分かんないです。 という訳で多分みなさんそれぞれ自前でパフォーマンスを計測してると思うんだけど、自分が普段ふぁぼったーのWeb開発で使っている、PHPの任意の部分の処理時間を計測するスニペットを公開してみます。やっつけですが。 使い方 getMS()関数は、前回getMS()が呼ばれた時刻からの経過時刻をミリ秒で返します。 すなわち、処理時間を計測したい部分の開始地点と終了地点でそれぞれgetMS()を呼び、終了地点での戻り値をprintするなりすれば任意の部分の処理時間を計測できます。 <?php function getM

    2009-08-05 - 小野マトペの業務日誌(アニメ制作してない篇)
  • PHPで現在のスコープやオブジェクト内部の状態を対話的に確認する - id:anatooのブログ

    PHPプログラミングの際にコードをデバッグするのに最も手軽なのは、var_dumpやロガーで変数の中身を見る方法だと思う。例えば何やらおかしな動きをするメソッドがあった時に、その中のコードにvar_dumpを差し込んでコマンドラインで実行する。そして来とるべき値から外れている変数や値を見つけることで、バグの原因を見つけるのに有用な情報を得ることができる。 このやり方は簡単だが問題がある。おかしな動きをするメソッドの中に、var_dump($a);というコードを挿入して、コマンドラインで実行して、$aという変数の中身を確認する。が、特に何もおかしなところがない。コードを書き換えて次は$bという変数の中身を見るが問題はない。次にコードを書き換えて$cという変数の中身を…という風に、おかしな値がなかなか見つからない時に var_dump等のコードを挿入する コマンドラインで実行する 表示された

    PHPで現在のスコープやオブジェクト内部の状態を対話的に確認する - id:anatooのブログ
  • dBug

    PHP version of ColdFusion�s cfdump. Outputs colored and structured tabular variable information. Variable types supported are: Arrays, Classes/Objects, Database and XML Resources. Ability to force certain types of output. Example: You can force an object variable to be outputted as an array type variable. Stylesheet can be easily edited. Table cells can be expanded and collapsed. It�s FREE!!! dBug

  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • 常駐型サーバープログラムのデバッグ手法

    BOOK: WEB+DB Press TITLE: 常駐型サーバーのデバッグ手法(ドラフト版) AUTHOR: (株)プリファードインフラストラクチャー 太田一樹 *注: この文章はWEB+DB PRESS Vol.48に掲載された記事のドラフト版です はじめに 今回はデバッグ関連特集ということで、常駐型サーバープログラムを作成する際のハマりどころやそれに対する解析方法・解析ツール・対策を、実際の経験を交えながら紹介したいと思います。 筆者は(株)プリファードインフラストラクチャーでインメモリ分散検索エンジン「Sedue (セデュー)」を開発しています。モバイル向け検索エンジン「エフルート」や、2008/11/6にリニューアルされました「はてなブックマーク2」などの検索バックエンドとして使われております。 この検索エンジンはいくつかの常駐型サーバープログラムから構成されており

  • PHPプログラムを解析して何処が重いか?がブラウザ上で簡単に分かる「XHProf」:phpspot開発日誌

    PHPプログラムを解析して何処が重いか?がブラウザ上で簡単に分かる「XHProf」 2009年03月25日- XHProf Documentation (Draft) PHPプログラムを解析して何処が重いか?がブラウザ上で簡単に分かる「XHProf」。 通常、PHPでのプロファイリングというと、Xdebugでファイルを吐き出して、WinCacheGrindやKCacheGrindで読み込むというのが定番です。 ですが、この方法だと、ファイルを吐き出したファイルをGETして、ソフトに読み込ませる、というちょっと面倒な手順が必要でした。 XHProf を使えば、ブラウザ上で、プロファイリングが出来るみたいです。 XHProfの特徴 まず、セグメントごとの実行時間やメモリ利用の状況なんかがブラウザで見れます。 プログラムの構造を把握するのにも使えます。 プロファイリングの階層表示 2つのプロファ

  • PHPスクリプトの遅い部分を簡単に見つける方法

    extension=xdebug.so xdebug.profiler_enable = 1 xdebug.profiler_output_dir = /tmp と設定して、apacheのリロードを行えばXdebugが動作します。 これで、あとは、ブラウザで調査したいページにアクセスすれば、 /tmp/ 以下にプロファイルデータが作成されていきます。 次にプロファイルデータの閲覧の為に、 http://sourceforge.net/projects/wincachegrind/からWinCacheGrindをダウンロードしてwindowsマシンにインストールします。 あとは、WinCacheGrindで作成されたファイルを取り込めば、関数ごとの 実行時間をたどりながら確認することができます。 ※WordPress2.7.1日語版インストール直後のTOPページで試してみた場合です。 We

    PHPスクリプトの遅い部分を簡単に見つける方法
  • PHP でのデバッグ方法 - Memo

    riaf: 明日になったら heavenshell さんのブログにデバグ方法のエントリがあがってるんだろーなー♪[00:27] heavenshell: var_dumpの方が速いというオチもw[00:27] riaf: たのしみだーなー♪[00:27] heavenshell: ちょwww[00:27] heavenshell: 頑張ります><[00:28] wozozo がトピックを “heavenshellのブログにデバッグ方法!こうご期待” に変更しました。[00:28] riaf: wwww[00:28] heavenshell: www[00:28] と zf-users.jp の IRC で振られたので… ww # あくまでも自分のやり方。もっと効率の良い方法があるかもしれない。 PHP での値の確認とかは基的に var_dump() と die() を使ってやってる。 殆

    PHP でのデバッグ方法 - Memo
  • 1