タグ

debugに関するkorinのブックマーク (13)

  • ログ出力のための print と import logging はやめてほしい - Qiita

    はじめに Python入門系の記事では概して、Pythonのロギング機能の紹介で最初にlogging.debug()といったloggingモジュール付属の関数を呼ぶ方法を案内しています。 Python家が提供するloggingの「基チュートリアル」でもこの点で大差ありません。Python家の基チュートリアルでは、print()関数を使用する方法もロギングの手段として有効であるとし、タスクに応じてprint()やlogging.debug()を使いわけよう、という流れで記述されています。 コマンドラインスクリプトやプログラムで普通に使う、コンソール出力の表示 : print() そのような「基」の説明の後「上級」チュートリアルになってようやく、Python言語付属のロギングメカニズムの説明が始まります。「上級」では4+1種類のデータ構造が紹介され、ここで「基」で多用されていたlo

    ログ出力のための print と import logging はやめてほしい - Qiita
  • FlaskをJSから叩いてエラーになった時に対話的デバッグする方法 - 西尾泰和のはてなダイアリー

    WebアプリフレームワークのFlask(が内部で使っているWerkzeug)は、デバッグモードをONにしておくとエラーが起きた時にそのエラー画面からブラウザ上で対話的にコードを実行したり変数を表示させたりしてデバッグが出来る。これは超便利。なのだけど、最近JSからAPIを叩くケースが多くなって、その場合JSが予期しないHTMLを受け取ってパースに失敗するだけなので折角の対話的デバッグが生かせない。 そこで、エラー時には新しいwindowを開いて、レスポンスの内容をそちらに書き出すようにした。初回だけポップアップブロックが発動してしまうけど、それ以降はこれでAPIでも対話的デバッグが出来る。 $.ajax({ url:'/buggy/', data: 'q=42', success: function(x){console.log(x)}, error:function(x){ var w

    FlaskをJSから叩いてエラーになった時に対話的デバッグする方法 - 西尾泰和のはてなダイアリー
  • シェルスクリプトのデバッグ | UNIX & Linux コマンド・シェルスクリプト リファレンス

    シェルスクリプトのデバッグ シェルスクリプトをデバッグするには プログラムにバグはつきものであり、それはシェルスクリプトも例外ではない。bash にはシェルスクリプトのデバッグに非常に有効なオプションが用意されているので、「Syntax Error」で実行できない場合や、変数にどんな値が設定されているのか確認したい場合は、それらオプションを指定した上で実行することで、簡単にデバッグを行うことができる。 「-x」オプションを使用する -x オプションは、シェルスクリプト内で実際に実行されたコマンドを表示するオプションである。変数が使用されている場合は、その変数の値が展開された状態で表示される。 → bash に -x オプションを指定し、引数にデバッグするシェルスクリプトを指定する。 -x オプションでシェルスクリプトを実行すると、echo コマンドなどの出力に加えて、スクリプト内で実際に実

    シェルスクリプトのデバッグ | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • Hadoop プログラムの単純なデバッグ方法について - takahi-iの日記

    最近 Hadoop ライブラリを用いて書かれたプログラムをデバッグする方法について調べてました。標準エラー出力を使用する方法と Context オブジェクトを利用する方法が簡単なようです。 標準エラー出力に Hadoop プログラムから出力すると、プロンプトには出力されないのですが、とあるログファイルには出力されます。また、オブジェクト Context (昔は Reporter オブジェクトを使用していましたが 0.2 以降は Context を使用する方が良いらしいです) を利用して、別の場所に出力することもできます。 以下デバッグ用の文を含む単語カウントプログラムを書きました。このプログラムは通常の単語カウントプログラムなのですが、'invalid' という単語の場合だけはカウントを行わず、不正な入力として警告します (人工的なサンプルで申し訳ございません)。また入力ファイルに入ってい

    Hadoop プログラムの単純なデバッグ方法について - takahi-iの日記
  • Perlデバッガの手引き - Perl入門ゼミ

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

    Perlデバッガの手引き - Perl入門ゼミ
  • sexyhook 接合部作成ライブラリ - お前の血は何色だ!! 4

    夏から構想をねり作り始めていたAPIフックや関数書き換えによる接合部を作成するライブラリが取り敢えず動くようになったので公開します。 #まだまだ不安定ですが ダウンロードはこちらから↓ http://code.google.com/p/sexyhook/ イントロダクション time()関数をライブラリの中に書いてあるので、失敗ルーチンのテストが書けない。。。 //2000年以上か? bool isOver2000year() { //現在動かしたら、絶対 TRUE にしかならない return time(NULL) >= 946652400; //2000-01-01 00:00:00 } このルーチンを検証するのには、PCの時計を変更しないとだめ。 うーん、めんどくさい。 テストルーチンの時だけ、一時的に time() を昔に戻せないだろうか。 そんなことで困ってませんか? { //現

  • はてなブログ | 無料ブログを作成しよう

    パスタ習作#2 飽き性な性格なのに#1を書いた以降も意外とパスタ熱が冷めなかった。当たり前のことだが、基が分かってくると応用ができる。応用ができると自由度が増す。自由を手に入れると継続ができる。批評家の福尾匠が自身の日記に、小倉知巳のペペロンチーノのレシピはよくで…

    はてなブログ | 無料ブログを作成しよう
    korin
    korin 2010/01/08
  • GDBで歴史をさかのぼれるように!なりました! GDB 7.0 の新機能Reverse Debuggingを使ってみた - 日記を書く [・w・] はやみずさん

    Twitter上で、@alohakun が言及していた GDB の reverse debugging の機能を使ってみました。 GDB にトレースと逆実行機能入ったのか。 http://www.gnu.org/software/gdb/news/reversible.html http://twitter.com/alohakun/status/4481139191 まずは簡単な使い方を説明したあとに、インストール方法を説明します。 こんなときに便利 「変なこと」が起きている大体の場所がわかっているとき デバッグ中に、大体どこで変なことが起きているかはわかっているけど、細かい場所は特定できていないとき、reverse debuggingが効果を発揮します。 GDBでステップ実行をしていて、「しまった!行きすぎた!」という経験はよくあると思います。こういうとき、今まではプログラムの実行を最

    GDBで歴史をさかのぼれるように!なりました! GDB 7.0 の新機能Reverse Debuggingを使ってみた - 日記を書く [・w・] はやみずさん
  • Python Debugging Techniques | Ayman Hourieh's Blog

    This article covers several techniques for debugging Python programs. The applicability of these techniques ranges from simple scripts to complex applications. The topics that are covered include launching an interactive console from within your program, using the Python debugger, and implementing robust logging. Various tips are included along the way to help you debug and fix problems quickly an

  • ちょっとしたコードを検証するコツ - Unknown::Programming

    とりあえずPerl限定のお話で。 まぁ皆同じようなことは多分してると思うのでぐだぐだと何か言うことも無いんだけど、自分流のやり方を覚書程度にメモするという意味でここに残しておきます。 まず以下のようなfoo.plを用意します。 #!/usr/local/bin/perl -w use strict; use warnings; use Data::Dumper; use YAML(); sub p (@) { local $Data::Dumper::Indent = 1; print Dumper(@_) } sub P (@) { print YAML::Dump(@_) } use Perl6::Say; use Path::Class; __END__ 自分の環境にあわせてお好みのuse文を入れておきましょう。Perl 5.10とかならPerl6::Sayはいらないですね。 ちなみ

    ちょっとしたコードを検証するコツ - Unknown::Programming
  • 実行中のアプリケーションを外から観察するコマンド。 - こせきの技術日記

    strace システムコールをトレース。カーネルと何を話しているか。 strace -p PID でプロセスにアタッチ。実行中のプロセスをトレース。 straceを使ったデバッグ - SourceForge.JP Magazine : オープンソースの話題満載 Linuxカーネルの作り出す世界 − @IT自分戦略研究所 - ふつうのLinuxプログラミング 青木峰郎 システムコールとライブラリ関数 − @IT自分戦略研究所 システムコール・ライブラリルーチン - UNIX の部屋 ltrace 共有ライブラリの呼び出しをトレース。*.soと何を話しているか。 ltrace -p PID でプロセスにアタッチ。実行中のプロセスをトレース。 ltrace で共有ライブラリの関数呼び出しをトレースする - bkブログ 404 - エラー: 404 - Linux JF ƒ‰ƒCƒuƒ‰ƒŠ‚ÌŠ

  • Vim+xmpfilterでirbいらずのRuby試行錯誤開発 - ナレッジエース

    おそらく、誰もがやる深夜のWebサーフィンは、究極のところ時間の無駄ではないのかもしれない。 それは、Webで夢をみているのにほかならないのだ。(T.B=リー「Webの創成」より) 先日「まるごと Ruby! Vol.1」を読んでいて、xmpfilterとうい試行錯誤ツールがあることを知りました。 xmpfilterは、Rubyソースコード中の任意の行末に「# =>」という計算マーク(コメント)を入れておくことで、そこにその行の式の値を埋め込んで表示してくれるフィルターコマンドです。(irbでは一行ずつ表示される結果が、直接コードの行末に表示できるイメージ) インストールもgemで一発。すぐに使えるうえ、標準でVimEmacsから使うためのスクリプトまで用意されているスグレモノ。 超絶便利だと思うのですが、そのわりにあまり情報をみかけないので、ここではVimから便利に使うための方法につい

  • Read/Writeロック、ブロックするQueue、色付き非同期Logger - Blog by Sadayuki Furuhashi

    分散ファイルシステムはマルチスレッドで作っているわけですが、マルチスレッドなら必ず使うであろう諸クラスを作成。作成と言うか、V-FIELDを作ったときに必要なものは大方作ったので、改良が主。 Read/Writeロックは、普通のRead/Writeロック。C++と言えばRead/Writeロックくらいboostにあると思ったら、無いので作成。 ブロックするQueueというのは、popするときに中身が空だったら、何か入ってくるまで待つ、というもの。V-FIELDには、キューの実装に、STLのqueue+boostのshared_ptrを使っていたのですが、どうもboost::ptr_dequeの方が効率が良いらしいので、変更。これでptr_blocking_queue。int型などはポインタにすると逆に効率が悪いので直にコピーした方が良い、ということで、キューの実装に普通のstd::dequ

    Read/Writeロック、ブロックするQueue、色付き非同期Logger - Blog by Sadayuki Furuhashi
    korin
    korin 2007/11/04
    ログをはきまくるというテクニック
  • 1