タグ

debugに関するmatsutakegohan1のブックマーク (38)

  • 「レガシーコード改善ガイド」のススメ 第2回:コードを理解するため、仕様化テストで文書化する

    増え続けるレガシーコード この記事を読んでいる皆さんの多くは、これまでたくさんのシステム開発に関わってきたことでしょう。仕様変更と闘い、納期に追われ、やっとのことで稼働したシステムも数多いはずです。厳しい状況になればなるほど、実際にコードを動かすことが最優先になり、「コードを保護する」ための単体テストの整備は後回しになってしまいがちです。 ところが、システム開発はシステムが完成して無事に稼働した時点で終わりではありません。ユーザーが実際に使い始めると、保守開発としてさまざまな仕様変更や機能追加が発生するのが常です。それらに対応するためには、厳しいスケジュールの中で、やっつけ仕事で間に合わせたコードに対して改修や機能追加をする必要があります。では、このような仕事にどうやって取り組めば良いのでしょうか? さて、前回の記事では、『レガシーコード改善ガイド』におけるレガシーコードの定義を紹介しまし

    「レガシーコード改善ガイド」のススメ 第2回:コードを理解するため、仕様化テストで文書化する
    matsutakegohan1
    matsutakegohan1 2009/07/14
    まあ、これしかないよね。
  • 【ハウツー】Cアプリを高速化せよ! - 正式リリースされたgoogle-perftoolsを試す (1) google-perftoolsとは | エンタープライズ | マイコミジャーナル

    google-perftoolsはGoogleによって提供されている、C/C++アプリケーションのパフォーマンスを改善するための開発ツールキットである。2005年3月に初めて公開され、およそ4年を経て7日に正式版がリリースされた。The BSD Licenseの下で提供されており、LinuxをはじめとしてFreeBSD、Mac OS X、Solaris 10、Windows XPなど、各種プラットフォームでの動作が確認されている(ただし、Linux以外については一部機能を除く)。 google-perftoolsには次に挙げる4つのツールが含まれている。 高速メモリアロケータTCMalloc ヒープチェッカー ヒーププロファイラ CPUプロファイラ TCMalloc(Thread-Caching Malloc)は通常のmallocよりも高速なメモリ割り当てを実現するライブラリであり、テスト

  • perl - B::Deparse : 404 Blog Not Found

    2007年02月11日13:45 カテゴリLightweight Languages perl - B::Deparse 尻馬乗るべし、ということでB::Deparseの紹介。 いやなブログ - スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl スクリプト言語用の CUIのデバッガの使い方を簡単にまとめました。対象言語は Ruby, Python, Perl です。実は私も、デバッガーはperl -de1ぐらいしか使っていない(perl -de1は非常によく使うので、Terminal.appのウィンドウの一つがそれ専用になっている。スクリプト言語のインタラクティブな利用法に関しては以前「404 Blog Not Found:LL Intaractive」にまとめたのでそちらをご覧頂くとして、ここではなぜスクリプト言語では滅多にデバッガーを使わないかをおさらいした

    perl - B::Deparse : 404 Blog Not Found
  • Perlプログラマのためのgdb入門(at Shibuya.pm #9 LT) - とあるはてな社員の日記

    先日のShibuya.pm #9のLightening Talkで「gdbでXS on mod_perlをデバッグ」という話をしてきました。XSを使い出すと、従来のPerl的デバッグだけでは不十分なのでgdbをうまく使って、効率的にデバッグしましょう、という話です。実は、はてな社内では1年近く前に勉強で話したネタだったのですが、ようやく公開することができました。 Shibuya.pmでは5分という枠があったのでショートver.でしたが、ここでは制限はないので、来のロングバージョンの資料をアップします。ちょっと公開できない情報が混っていたので、xxxで隠していますが、ご了承ください。 ちなみに、Rubyとかでも似た感じでデバッグできると思うので、そちらの人も参考にしてください。長いよ!という人は、最後の「これは設定しておけ的gdb初期化マクロ」だけでもどうぞ。かなり便利です。 (資料公開が

    Perlプログラマのためのgdb入門(at Shibuya.pm #9 LT) - とあるはてな社員の日記
  • アメリカでがんばりましょう JavaScript Debugger って便利

    最近知ったんだけど、Mozilla シリーズで動作する JavaScript Debugger オリジナル開発サイト (日語訳) がとっても便利だ。 昔はブラウザに付いてきたが、最近のリリースでは Extension (機能拡張) となっていて、 Firefox の場合、下の mozilla update のサイトから http://update.mozilla.org/extensions/moreinfo.php?id=216&vid=512 Mozilla/Netscape の場合、作者のサイトから http://www.hacksrus.com/~ginda/venkman/ xpi ファイルをダウンロード/インストールできる。 使い方はカンタンで、JavaScript をデバッグしたいページをブラウザで開いた状態で、Tools メニューにある JavaScript Debugg

  • 自動車業界のAjaxを活用したキャンペーンを目撃せよ ― @IT

    Ajaxとそれに関連する話題を紹介します。 バーグラフがぐんぐん伸びるWeb投票 dPolls.com (Ajaxによるリアルタイム投票システム) Ajaxによる投票システムです。投票すると結果がリアルタイムに表示されます。また、なかなかきれいなビジュアル効果も付いています。スクロールバーにマウスポインタを置くだけでスクロールしたり、棒グラフもゆっくりと伸びていくアニメーション付きで表示されます。単に選択して投票するだけであれば、投票システムというのは、技術的にさほど難しいものではありません。しかし、このようなビジュアル効果を付けて、皆で共有すると楽しいツールになるといえます。 AJAXデータのやりとりが分かるGIFインジケータ AJAX Activity indicators XMLHttpRequestオブジェクトで通信が行われていても、Webブラウザのローディングアイコンは動作しませ

  • ほげめも: gdb hacksアーカイブ

    gdb hacks 第 6 回。前回は IA-32 で gdb がデバッグレジスタをどのように活用しているかを見ました。今回はデバッグレジスタをプロセスが自分自身で利用する方法について考えてみます。

    matsutakegohan1
    matsutakegohan1 2008/06/30
    [][][gdb][dev][programming][いつか読む]
  • gdb tips - bkブログ

    gdb tips gdb を使う上で便利な tips を紹介します。基的な使い方をマスターしている人向けです。 .gdbinit の設定 ホームディレクトリに .gdbinit を置いておくと、gdb の起動の際に読み込まれます。私の場合は次のような設定をしています。 set history save on set history size 10000 set history filename ~/.gdb_history set print pretty on set print static-members off set charset ASCII set history から始まる最初の 3行は履歴に関する設定です。それぞれ、 gdb のコマンドラインの履歴をファイルに保存する、保存する行は最大 10000 行、ファイル名は ~/.gdb_history 、という意味になります。

  • サービス終了のお知らせ

    平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 件に関するお問い合わせはこちらよりお願いいたします。

  • CodeZine:Selenium 0.7利用手順書(前編)(Selenium, Webアプリケーション, テスト)

    はじめに 稿は、Webアプリケーション用のテストツールSelenium(セレニウム)を利用するための手順を解説するものです。これから2回に分けて、Seleniumの概要および、インストール手順、実際のテストケースの実行について解説していきます(後編はこちら。また、Tipsも公開しました)。 今回は、Seleniumの概要および、Seleniumのダウンロード、インストール手順について解説します。読者対象 プロジェクトの試験担当者を想定しています。対象フェーズ ドキュメントでは、プロジェクトにおいて作成したWebアプリケーションに対して、ブラウザを用いた試験(結合試験・総合試験)を実施するフェーズを対象としています。Webアプリケーションの製造、単体試験フェーズや、外部のアプリケーションに対する試験については対象外です。使用したソフトウェア・環境 Seleniumを動作させるにあたり、以

  • 使いながら覚えるGDB

    はじめに プログラムのデバッグと言えばひたすらprintfを挿入しまくっていたある日、 デバッガなる便利な代物があるということを知った。なんでもプログラムを一行 ずつ実行できて、変数の値をその場で確認できるらしい。これは是非使ってみねばと 思い、UNIX環境で使えるGDBというデバッガを試してみた。が、何がなんだかさっぱり 分からない。Webを検索するとマニュアルの日語訳が見つかった。これで勉強すれば 使えるようになるかも、と読み始めるも、いきなりm4がどうのこうのだの、意味不明 の文章が続く…。 これは私がGDBを使い始めた時の話だが、似たような経験を持っている人が他にもいる と思う。 GDBのマニュアルは初心者にはすこし敷居が高い。 GDBに限らずマニュアルというものは初学者が参考書として用いるのには 適していない。というのも、マニュアルの類は情報量が多い分、重要な部分を 見つけ出す

  • 最速インターフェース研究会 :: Firefoxでの開発を高速化する自動リロードスクリプト

    以前にも書いたとおり萌ディタとSleipnirAPIを駆使して、htmlその他ソースファイルをいじると保存のタイミングに合わせてSleipnirのアクティブタブがリロードされるようになっているわけなのですが、近頃Firefox1.5をメインに使うようになってしまったのでFirefoxでも上手く動くようにしようという話。 もちろん自動リロード機能を提供する拡張があるのは知ってるんだけど、編集のタイミングと関係なく1秒ごとにリロードさせたらせわしなくて仕方ない。あくまで保存のタイミングに合わせてブラウザを更新したい。 最初は萌ディタからFirefoxにコマンドラインでブックマークレットを渡すというのをやってみたのだけれど、どうにも手元の環境では上手く動かない。新しいタブでブックマークレットを開いてしまったりする。WSHでFirefoxにフォーカスを合わせてF5を送るとかもやってみたんだけど萌デ

  • それすぐ実行!JavaScript! - IT戦記

    思った JavaScript はすぐに実行してみましょう! ブラウザの URL 入力欄に javascript:(function() { /*実行したいコードを書く*/ })()FireBug を使ってる人は、コンソール開いて実行したいコードを書く。 たとえばこんなことができます。 これらの例は僕が日頃使っているものです。 グローバルで使える関数を列挙する(Firefox Only) FireBug用 for(var n in window) if(typeof window[n]=='function')console.log(n); URL用 javascript:(function(){var b='';for(var n in window)if(typeof window[n]=='function')b+=n+"\n";alert(b)})() Object.prototyp

    それすぐ実行!JavaScript! - IT戦記
  • ltrace で共有ライブラリの関数呼び出しをトレースする - bkブログ

    ltrace で共有ライブラリの関数呼び出しをトレースする ltrace は共有ライブラリの関数呼び出しをトレースする Linux 用のツールです。システムコールをトレースするstrace と同様に、デバッグに大変役立ちます。 ltrace は Debian GNU/Linux の場合は sudo apt-get install ltrace でインストールできます。 ltrace の使い方は簡単です。基的には ltrace コマンドの引数にトレースしたいコマンドとその引数を並べれば OK です。デフォルトでは ltrace のメッセージは標準エラーに出力されます。これをファイルに出力させるには -o オプションを用います。たとえば、次のように実行します。 % ltrace -o log.txt wget https://www.codeblog.org/ この例では wget が ht

  • cl.pocari.org - Smarty を使った開発でデバッグを行う 4 つの方法

    Smarty を使った開発でデバッグを行う 4 つの方法 2006-11-29-1: [PHP][Books] PHP のテンプレートエンジン Smarty を使って開発するときに,割り当てた変数が複雑になって困ることはありませんか? その際,何らかの方法を使って割り当てた変数を確認するのですが,いくつか方法があります. 1. 常にデバッギングコンソールを表示する方法 おそらく一番有名な方法ですが,$debugging に true を指定して,常にデバッギングコンソールを表示する方法です. require_once 'Smarty.class.php'; $smarty = new Smarty; $smarty->debugging = true; これで,常にデバッギングコンソールが表示されます. デバッギングコンソールは,window.open() を使った JavaScript

  • 既に起動しているプロセスをgdbで制御する:Geekなぺーじ

    デバッグやテストを行っていると、プログラムが無限ループに入り込んで返ってこないような状況が発生することがあります。 そのバグが再現の難しいものであれば「gdbを使って起動しとけば良かった。。。」というような気分になる時があります。 しかし、gdbには既に起動しているプログラムの制御を横から奪い取ってデバッグするというありがたい機能があります。 ここでは、既に起動しているプログラムをgdbでいじる方法を説明したいと思います。 実際にデバッグをする方法を説明するというよりは、gdbで動いているプロセスにアタッチする例を説明します。 その後のデバッグに関しては、いつものgdbの使い方をしていただければ大丈夫です。 とりあえずアタッチしてみる 既に起動しているプロセスをgdbを解析するのは非常に簡単です。 単にgdbでプロセスにアタッチするだけです。 gdbでプロセスにアタッチする方法は2つありま

    matsutakegohan1
    matsutakegohan1 2008/06/30
    主に悪戯に使用。
  • straceを使ったデバッグ | OSDN Magazine

    プログラムが機能を果たせない場合には、有用なエラーメッセージを返し、問題を解決する手がかりを提供するのが理想的だ。しかし残念ながら、このような理想的な状況は珍しく、アプリケーションでエラーが発生したときに、手元に何の情報もないことも多い。 ここで、デバッグツールの登場だ。私にとってなくてはならないツールの1つが、straceだ。straceはシステムコールトレーサで、すでに実行されているプログラムによって発せられたコールを追跡する(straceを既存のPIDにバインドする)ことも、テストしたいプロセスをstraceに開始させることもできる。 では、straceの使い方を実例とともに見ていくことにしよう。 KDE起動時の問題 以前、私はKDEを起動する際の問題をデバッグしていた。返されたエラーメッセージからは、何の手がかりも得ることができなかった。 _KDE_IceTransSocketCr

    straceを使ったデバッグ | OSDN Magazine
    matsutakegohan1
    matsutakegohan1 2008/06/30
    例えばapacheがきちんと必要なconfファイルを読んでるかどうかを追いかけたり。
  • http://www.ksky.ne.jp/~sakae/98d/1998-0705.html

  • ソースコードを読むための技術

    $Id: readingcode.html,v 1.13 2003/12/06 00:01:08 aamine Exp $ 2006-05-02 gonzui 追加。thanks: 冨山さん 2003-12-03 ltrace と sotrace を追加 2003-12-03 ツールのところに DDD を追加。thanks: 和田さん 2003-05-27 VCG, SXT などについて追加。thanks: 梅沢さん 2003-05-27 これもすっかり忘れていた strace, ktrace, truss, etags などについて追加 2002-08-30 すっかり忘れていた ctags を追加 2002-07-07 匿名希望さんからメールでいただいた情報を追加 (動的コールグラフ) 2002-06-13 日記経由でいただいた意見をもとに文章を追加。thanks: 柳川さん、まつもとさ

  • https://www.codeblog.org/blog/moriyoshi/20070207.html

    See related links to what you are looking for.