タグ

デバッグに関するfjwr38のブックマーク (23)

  • デバッグの理論と実践

    『ビューティフルコード』『Making Software』の著者の一人であり、GNU Data Display Debugger(DDD)の開発者である著者が、なぜプログラムがうまく動かないかについて、効率的な原因究明とデバッグ方法を提案。なぜ「系統的」で「自動的」なデバッグが必要なのかの重要性を説き、そしてそれを実現するための手法として、差分デバッグ、科学的手法といった具体的なテクニックやさまざまなツールの詳細を紹介しています。デバッグ作業を効率化し、デバッグの苦痛を軽減するという著者の信念に基づいて書かれた書は、多くのプログラマにとって福音となる一冊です。 序文 まえがき 1 章 障害はどのように起こるのか 1.1 プログラムがうまく動かない! 1.2 欠陥から失敗へ 1.3 時間と空間の迷路 1.4 障害から修正まで 1.4.1 問題の記録 1.4.2 障害の再現 1.4.3 テス

    デバッグの理論と実践
  • Xcodeでちゃんとデバッグする人に強烈におすすめのサイト - 強火で進め

    printf系のデバッグじゃなくてちゃんとしたデバッグを(してる|したい)という人に強烈におすすめ出来るサイトを発見。 まだ、最近のエントリーしか読んでないですがこちらの「メモリリークのデバッグ」 monkey coders' - Guard Malloc(libgmalloc) について http://deathcube.blog36.fc2.com/blog-entry-20.html と、こちらの「デバッグツールの使い方」の解説が素晴らしいです。 monkey coders' - Xcode Debugging Tips http://deathcube.blog36.fc2.com/blog-entry-19.html Xcodeってブレークポイントを設定するときに実際にはブレークさせずに音を出したり、ログを出力しただけでそのまま処理を通過させるなんて使い方も有ったんですね。 この

    Xcodeでちゃんとデバッグする人に強烈におすすめのサイト - 強火で進め
  • 自動テストの知識をプログラマは知らないと恥ずかしい | Act as Professional - hiroki.jp by HIROCASTER

    1.テストやデバッグに使う時間を削減して、プロダクトコードの品質をあげる 単体・結合・統合テストは全体の8〜25%が費やされるべきであるといわれています。ですが、デバッグは開発の50%におよぶ場合があると言われています。これは、テストには来多くの時間を割くべきであるが、デバッグが膨大な時間に及ぶことが事実としてあるということです。 プログラミングについてあまり知られていない7つのことより 1.スキルのレベルにかかわらず、プログラマーは全時間のおよそ10~20%をコードを書くのにあてており、たいていのプログラマーは完成品ができるまで一日あたりおよそ10~12行のコードを書いています。優秀なプログラマーは残りの90%のうち大部分を、考えること・調べること・最高の設計を見つけるための検証作業に費やします。ダメなプログラマーは残りの90%のうち大部分を、やみくもに変更と検証を繰り返すようなデバッ

    自動テストの知識をプログラマは知らないと恥ずかしい | Act as Professional - hiroki.jp by HIROCASTER
  • デバッグのヒント教えます(1) - @IT

    時の過ぎるのは早いもので、年が明けたと思っていたら、気が付けばもう5月になってしまいました。新社会人の皆さんであればこれからエンジニアの仲間入りをしていろいろな知識を習得していこうと張り切っていらっしゃることでしょう。 この連載ではJavaエンジニアの皆さんが必ずぶつかるデバッグについて実例を挙げながらその具体的な対処法について解説していきます。コンパイルエラーのメッセージは、現在よく使われているEclipse 3.1.x(の「問題」ビュー)で表示されるメッセージを基に解説していきます。コンパイルに用いるJDKのバージョンは、5.0を想定しています。 Javaプログラムにおけるデバッグのパターンは? Javaプログラムにおけるデバッグの対象となりうるものには、大きく3つのパターンがあります。 (1)コンパイルエラー Javaのプログラムを書いていて最初にやるデバッグは、おそらくコンパイル

    デバッグのヒント教えます(1) - @IT
  • 第11回 デバッグ手法のあれこれ | gihyo.jp

    前回の復習 前回は、アプリの設定画面の作り方に関して学びました。 具体的には、 XMLによる設定画面の作り方 設定画面から設定値の保存方法 の説明を行いました。 Android OSには、設定画面を簡単に実装できる枠組みが用意されており、値の保存も自動的に行ってくれるので、設定画面を作る場合は、この枠組みを上手く活用してアプリを仕上げてください。 アプリのデバッグ方法 アプリの開発段階では、不具合の修正を行ったり、パフォーマンスの改善を行うことがあります。AndroidのSDKには、効率良くデバッグやパフォーマンスチューニングが行えるツールや仕組みが用意されているので、今回は、それらをご紹介します。 最もベーシックなLogCat バグの修正を行う場合、現状の動作状況を把握したいことがあると思います。 このとき、ソースコード中にブレイクポイントを設定して、ステップ実行をしても良いのですが、頻

    第11回 デバッグ手法のあれこれ | gihyo.jp
  • 第2回 JavaScriptのデバッグとチューニング | gihyo.jp

    使用頻度が高いのはデベロッパーツールを起動するCtrl+Shift+I(もしくはCtrl+Shift+J)と、コンソールを開閉するESC、コンソールでは補完候補を選択するtabなどが挙げられます。 例えば、長くて間違えやすいencodeURIComponentのスペルは、Ctrl+Shift+Jでデベロッパーツールを起動してコンソールを開き(コンソールが開かなかった場合はESC⁠)⁠、eだけ打ってtabキーを2回押せば encodeURIComponent が補完されるので、スペルを簡単にコピーできます。 JavaScriptデバッガの活用 前回はブレークポイントの設置方法を紹介しましたが、もう一歩進んだ条件付きブレークポイントの設置方法を紹介します。 まず、通常のブレークポイントを設置します。 この青くハイライトされた行番号の上で右クリックすると次のようなメニューが表示されます。 ここで

    第2回 JavaScriptのデバッグとチューニング | gihyo.jp
    fjwr38
    fjwr38 2012/03/20
    chomeのデバッグツール
  • いやなブログ - スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl

    スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl スクリプト言語用の CUIのデバッガの使い方を簡単にまとめました。対象言語は Ruby, Python, Perl です。 私は C, C++ でプログラムを書いているときはデバッガ (主に GNU/Linux 上の gdb) を頻繁に利用します。しかし、スクリプト言語ではそれほどでもありません。これはおそらく次のような理由によります。 ビルドが不要なので printf デバッグが容易 (ある程度大きい C++ のプログラムではビルド時間が長いので printf の挿入はしんどい) 異常終了時にスタックトレースが表示される (Ruby, Python なら自動、Perl の場合は use Carp; $SIG{__DIE__} = \&Carp::confess; など) オブジェクトのインスペクトが簡単 (Ru

  • 川o・-・)<2nd life

    Perl での print debug の方法の紹介がブーム(?)だったので、自分がよく行ってる Ruby での debug 方法7つについて書いてみます。 p ご存じの人も多い Kernel#p メソッド。これを使うとオブジェクトの内容を見やすい形で出力してくれます。 >> p ({:foobar => :baz}) {:foobar=>:baz}Object#inspect を使うと、p で出力するときと同じ文字列を String として取得できます。 >> puts ({:foobar => :baz}).inspect {:foobar=>:baz}初心者の頃この p での出力を使う方法がわからなくて困った記憶が…。 pp pp というライブラリを使うと、p より、より見やすい形式で出力してくれます。たとえば >> a = Array.new(10) { {:foobar => :

    川o・-・)<2nd life
  • chromeデベロッパーツールでjavascriptのデバッグをする -node.jsもあるでよ- - tumblr

    ソースコードリーディングとかしてると、ただコード読んでてもどうしようもなく、オブジェクトの中身や変数などを見るためにデバッグツールを使いながらでないとやっていけないことが今になって分かりました。自分でもどうしようもなくアホだと思いながら戒めのために覚書。 デバッグツールの機能 僕自身まともに触れる言語はjavascriptphpくらいなもので、どちらもeclipseのようなIDEを使わず頑なにvimを使って組んできました。phpの場合はxdebugと連携させる方法*1や、javascriptならrhinoなんかを入れてquickrunとかって方法も考えられますが、僕はある程度は知っていながらもひたすら標準のスタックトレースやalert,console.log,console.dirばかりしていたので、まずはIDEなどに搭載されている一般的なデバッグ機能を復習をかねて覚書。 ブレークポイン

    chromeデベロッパーツールでjavascriptのデバッグをする -node.jsもあるでよ- - tumblr
  • デバッグ力: よく知らないプログラムの直し方 - 2011-12-06 - ククログ

    クリアコードではMozilla製品やRuby関連の開発だけではなく、広くフリーソフトウェアのサポートもしています。もちろん、サポート対象のソフトウェアの多くは私達が開発したものではありません。しかし、それらのソフトウェアに問題があった場合は調査し、必要であれば修正しています。 このようなサポートが提供できるのは、もともと、私達がフリーソフトウェアを利用したり開発したりしているときに日常的に問題の調査・修正をしていたからです。ソフトウェアを利用していると、問題に遭遇することはよくあることです。そのソフトウェアがフリーソフトウェアの場合は、開発者に問題を報告し、可能ならパッチを添えます。このとき、そのソフトウェアの内容を完全に把握していることはほとんどありません。しかし、それでも修正することができます。 それはどうしてでしょうか?今まではどのようにやっているのかを自分達でもうまく説明できなかっ

    デバッグ力: よく知らないプログラムの直し方 - 2011-12-06 - ククログ
  • スマートフォン実機デバッグ: JSConsoleを使ってみる

    と入力してみましょう。 そうするとサーバでIDが自動的に割り振られ、挿入用のスクリプトタグが出てきます(上の画面で反転している部分です)。このスクリプトタグを、スマートフォンで読み込ませるHTMLに組み込んでみましょう。 <!DOCTYPE html> <html><head><title>JSConsole Test</title> <script> window.test = function(arg) { console.log("test message:" + arg); }; </script> </head> <body><div id="hello">hello world</div></body> <script src="http://jsconsole.com/remote.js?9D22144E-AFD1-428B-B505-1D6A4C6F7324"></scri

  • css-eblog.com

  • 【2018年更新】心に響く、プログラム、コンピューターに関する優れた格言、名言 | naglly.com

    何度か紹介している下記の"Stack Overflow"は、エンジニアのためのQ&Aサイトです。 Stack Overflow - Where Developers Learn, Share, & Build Careers https://stackoverflow.com/ このサイトの、人気があるQAの中で、「great programming quotes(凄いプログラミングの格言)」と言うのがありましたので、その中から、特に心に響いたものを抜粋して和訳します(2018.11.15 追記:リンク切れしていたので、魚拓をリンクし直しました)。 Great programming quotes - Stack Overflow http://web.archive.org/web/20100818203850/https://stackoverflow.com/questions/58

    【2018年更新】心に響く、プログラム、コンピューターに関する優れた格言、名言 | naglly.com
  • 第19回HTML5とか勉強会発表資料 (Kanasansoft Web Lab.)

    5つのツールを紹介し、weinreを一押ししていますが、他のツールが劣っていると言っているのではないのでお間違えなく...。 (口頭では説明したのですが、スライドには書いていないので念のため...。) リモートデバッグの前準備を理解してしまえば、使い方はFirebugやブラウザの開発ツールとほぼ一緒なので、是非試してみてください。 Operaのリモートデバッグ環境のDragonflyもありますし、Webkitでもリモートデバッグができるようになるらしいですが、ブラウザ側がXMLHttpRequestに対応していれば、同じ環境で作業ができるのがweinreの利点ではないでしょうか。 (ブラウザのネイティブなリモートデバッグが、共通のAPIを持つのが理想かもしれませんね。)

  • 第2回 完全版:ブラウザとデバッグ環境 | gihyo.jp

    こんにちは、太田です。前回はクロスブラウザの入口として、各ブラウザの特徴をまとめつつ、実際にクロスブラウザなコードを紹介しました。今回はクロスブラウザ対策における基である、各ブラウザ環境の構築について解説したいと思います。 前回紹介した通りブラウザにはたくさんの種類・バージョンがあります。それぞれが動作する環境を用意するだけでも、一苦労ではすみません。なるべく少ないマシンで、各バージョンをインストールして、さらにデバッグするための環境作りについて紹介します。なお、Safari以外はWindows環境を想定しています。さらに、特に断りがない限りはWindows XP SP3をベースに解説させていただきます。ご了承ください。 各ブラウザのデバッグ環境は近年目覚しいほどの進化を遂げています。統合デバッグ環境の草分けであるFirebugを筆頭に、Safari/Chrome(WebKit)のWeb

    第2回 完全版:ブラウザとデバッグ環境 | gihyo.jp
  • JavaScriptのデバッグTips - os0x.blog

    JavaScript Advent Calendar 2010 8日目担当のid:os0xです。 JavaScriptネタは案外範囲が広くて色んなネタがあるので、毎回が楽しみですね。 さて、私はデバッグをネタにしたいと思います。テストではなくデバッグです。誰かが書いたコードをメンテナンスしなきゃー、とか。jQueryプラグイン導入しようとしたけど、なんかうまく動かないーみたいなケースのおはなしです。 JavaScriptのデバッグは大変なので、多くの方が日々苦労されていると思います。なぜJavaScriptのデバッグが大変なのか少し整理してみましょう。 ブラウザ依存 まず、なんといってもJavaScriptはウェブブラウザ上で実行されるので、環境が一定ではありません。特定の環境だけを対象にJavaScriptを書くことは滅多にありません。PC向けではIE、Firefox、Chrome、Sa

    JavaScriptのデバッグTips - os0x.blog
  • Perlデバッガの手引き - Perl入門ゼミ

    Perl › デバッガ Perlのとても便利な道具のひとつにデバッガがあります。デバッガを使うとスクリプトを一行づつたどって変数の中身を見たり、ブレークポイントを設定してその位置で停止したりすることができます。 デバッガは当に便利なのですがPerlをやっていても意外と知らない人がいます。ひとたびデバッガを覚えてしまうと試験をするときに手放せなくります。Perlを覚えたての時期からどんどん使っていって欲しいツールです。そんなデバッガのコマンドとテクニックをまとめてみました。 デバッグ用のスクリプト デバッグ用の簡単なスクリプトを準備しました。debug.plという名前で保存してください。このスクリプトを使用してデバッガの解説をします。 my $message = 'Hello'; my @nums = (1, 2, 3); my %scores = (math => 80, english

    Perlデバッガの手引き - Perl入門ゼミ
  • mixi Engineers' Blog » スマートフォンブラウザのWebInspectorをリモートで実現するweinreが凄い

    こんにちは、寝過ごして長野まで行きそうになったソーシャルクライアント開発のtakimoこと瀧です。 先週弊社数名がアメリカで行われていたVelocity 2011 - O'Reilly Conferencesに参加しました。 そこではモバイル端末のテストやパフォーマンスについての講演やLTがあったようです。 自分もお土産話を色々聞きたいので詳しくは誰かが書いてくれるはず...です。 その中で気になったプロダクトがあったので紹介したいと思います。 weinre - Web Inspector Remote weinreはFirebug(Firefox)やWebKitのWebInspectorのようなデバッグ機能をリモートで提供してくれるプロダクトです。 iPhoneAndroid(2.1以上)には一応コンソール機能のようなものがありますが 基的には出力だけ ソフトキーボードでデバッグ用

    mixi Engineers' Blog » スマートフォンブラウザのWebInspectorをリモートで実現するweinreが凄い
  • iPhone SDK ターミナルでデバッグ - 袖触れ合うも多少の縁

    iPhoneをXcodeにつないでいない時にのみ起きる不思議クラッシュ現象。 なぜかシミュレータでの操作や、Xcodeから実機に直接「ビルドと実行」してデバッグを行ってもクラッシュは起きない。実機にインストール後、アプリを起動した場合のみクラッシュする現象に遭遇しました。(まぁ通常はこの状態で動作するのが正常な訳ですが。。。) XcodeのデバッグコンソールからNSZombeが出すメッセージもなく、クラッシュするので困っていました。オーガナイザには当然クラッシュログは残っているのですが、 1 myapp 0x00020d80 0x1000 + 130432 とこんな感じなのでどこが問題なのか正確に理解できない。 stackoverflowに良い解決法が載っていました! Crashing app when device not connected to Xcode やり方は、ターミナルを使っ

  • IDEA * IDEA

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