タグ

debugに関するkoko1000banのブックマーク (94)

  • gdb python scriptingの機能を使ってllvmをデバッグする - LLVMとコンパイラとVM

    gdb.Command.__init__ (self, "test_events", gdb.COMMAND_STACK)

  • Mac に CGDB をインストール

    ひたすら Vim でコードリーディングに疲れてきたので CGDB を導入. Homebrew にあったのですぐできた. $ brew install cgdb Warning: It appears you have MacPorts or Fink installed. Software installed with other package managers causes known problems for Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again. ==> Downloading http://downloads.sourceforge.net/project/cgdb/cgdb/cgdb-0.6.5/cgdb-0.6.5.tar.gz ################

    Mac に CGDB をインストール
  • Debugging with Mac OS X shared libraries

  • Google Japan Blog: Google が公開しているソフトウェアの解説 ( その2 )

    このエントリは、GoogleGoogle Code でオープンソースとして公開しているソフトウェアの解説シリーズの第2回です。 今回は、Google CoreDumper というソフトウェアを紹介します。 このソフトウェアはアプリケーションプログラムから任意のタイミングでコアダンプを出力する機能を提供するライブラリです。 「 コアダンプ 」 はプロセスのある時点での状態を保存したファイルで、デバッグのときなどに利用されます。通常、プログラムが異常終了したときや特定のシグナルを受信したときに OS カーネルがコアダンプファイルを出力し、そのプロセスは終了します。開発者はそのダンプファイルを gdb などのデバッガなどで解析して問題の原因を調査します。 問題が発生してコアダンプが生成される場合以外にも動作中のプロセスのスナップショットをコアダンプファイルとして生成できれば、その時点でのプ

    Google Japan Blog: Google が公開しているソフトウェアの解説 ( その2 )
  • テストとデバッグ

    The document discusses product architecture and its role in manufacturing firms. It defines product architecture as the scheme by which the function of a product is allocated to physical components. Product architecture impacts a firm's ability to achieve strategic goals like innovating new products, responding to market changes, and lowering production costs. The author argues that understanding

    テストとデバッグ
  • GCCのコンパイルオプションで関数トレーサ - torutkのブログ

    このの「#77 関数へのenter/exitをフックする」で、GCCのコンパイルオプション-finstrument-functionsを使い、関数が呼び出された時、関数から復帰するときにフックを入れる方法が紹介されています。フック関数のシグニチャは以下です。 void __cyg_profile_func_enter(void* func_addr, void* call_site); void __cyg_profile_func_exit(void* func_addr, void* call_site); このフック処理に渡されるアドレスから関数名を出して、関数の実行を追う簡易な関数トレーサを作成します。アドレスから関数に変換する方法で一番簡単そうなのは、同じの「#62 dlopenで実行時に動的リンクする」でglibcのGNU拡張として紹介されているdladdr関数です。 #i

    GCCのコンパイルオプションで関数トレーサ - torutkのブログ
  • Cのプリプロセッサを使ってJavaScriptの前処理を行う - スコトプリゴニエフスク通信

    『ハイパフォーマンスJavaScript』を読んだ。ハイパフォーマンスJavaScript作者: Nicholas C. Zakas,水野貴明出版社/メーカー: オライリージャパン発売日: 2011/03/20メディア: 大型購入: 4人 クリック: 500回この商品を含むブログ (16件) を見る全体として非常に良いだと思ったのだが、9.3章の「JavaScriptファイルの前処理」の章だけで他の全てを圧倒するようなインパクトがあった。曰く、 #ifdef DEBUG console.log("debug!"); #endif のようなC/C++のプリプロセッサを使ったJavaScriptを書いて、 % cpp -P -C -DDEBUG script.js console.log("debug!!!"); のように"-P -C"オプションを使ってcppの前処理をかけてやると便利だよ

  • Memory Analysis for Android Applications

    [This post is by Patrick Dubroy, an Android engineer who writes about programming, usability, and interaction on his personal blog. — Tim Bray] The Dalvik runtime may be garbage-collected, but that doesn't mean you can ignore memory management. You should be especially mindful of memory usage on mobile devices, where memory is more constrained. In this article, we're going to take a look at some o

    Memory Analysis for Android Applications
  • Big Sky :: C++でcoutやcerrの挙動を変える。

    先日twitterで「C++でデバッグする時、よくやるよね」って言ったら結構知らない人がいたのでここでも紹介してみる。 既存のコードでcout/cerrを使ったデバッグ文がわんさかあって、これログファイルとして出力したいな...って場合ありますよね。 そんな場合 #include <iostream> #include <fstream> using namespace std; int main() { // こんなの ofstream ofs("debug.log"); cout.rdbuf(ofs.rdbuf()); // いれとく cout << "debug string" << endl; } こうしておくと、その後のcoutへの出力が全てdebug.logというファイルへ出力される。 なおrdbufを元に戻すには #include <iostream> #include <f

    Big Sky :: C++でcoutやcerrの挙動を変える。
  • twitter の console.log() エラーよけ - てっく煮ブログ

    javascript, twitterFirebug が導入した console.log() は最近のブラウザで標準的に実装されつつあります。しかし、万が一、リリースコードに console.log が混じり込んでしまうと、古いブラウザや開発ツールが導入されていないブラウザで JavaScript エラーになってしまってとても悲しくなります。ということで、そういう場合にエラーを出さないようにするために、お手製の偽者 console オブジェクトを実装するテクニックがあります。ちょっと検索するといろいろ見つかります。 if (!window.console){ window.console = { log: function(){} }; } 確かに小さなプロジェクトでは、こういうおまじないを書いておくと安心だろうなー…と思っていたら、twitter のソースコードに次のようなコードを発見。

  • node-inspectorでnode.jsをデバッグしてみる - 小さい頃はエラ呼吸

    2011.12.02追記 最新版で動作するようエントリを修正しました。 node.jsのデバッグ(ステップ実行)ができるnode-inspectorの使い方 - 大人になったら肺呼吸 はじめに このエントリでは、Ubuntu 10.10上にnode-inspectorとnode.jsをインストールし、node.jsをデバッグ(ステップ実行)する手順について書いています。このエントリを書くにあたり、以下のエントリを参考にさせていただきました。 node.jsでのデバッグ方法 - すにぺっと node.jsの開発時に役立つモジュール : アシアルブログ node-inspectorは、サーバサイドのJavaScriptをブラウザ上(Webkit系のブラウザ)でデバッグできるようにしてくれるライブラリです。 node-inspectorってのがあって、これがあると chrome上(webkit

    node-inspectorでnode.jsをデバッグしてみる - 小さい頃はエラ呼吸
  • ebiflyっていうiPhoneのWebデバッガを作ったよ - yaakaito::Blog

    JavaScript, Node.jsどうも、成人式に行けなかったのがちょっとショックですけど、まあ地元の子に連絡してみたら結構元気そうだったので満足です。というわけで、ebiflyです。エビフライですよ、エビフライ、おいしいですよね。https://github.com/yaakaito/ebifly簡単にいうとiPhone(じゃくともいいけど)のWebから ebifly.log("いえーい"); とかしてログを母艦のコンソールに送ったり、コンソールからiPhoneにJSを送りつけて実行するあれです。たまに似たようなというかほとんど同じものを見ますけど、なんかちょっとださいのでかっこよさにはすこーしだけ力を入れてみました!なんで作ったかNode.jsの味をしめたからですね。それだけです。あとこういうのあると楽じゃないですか。UIWebViewとかconsole.log("aaa")じゃみ

  • straceを使ったデバッグ | OSDN Magazine

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

    straceを使ったデバッグ | OSDN Magazine
  • BytemanによるJava黒魔術 - nekop's blog

    クリスマスも近いですね。さて、クリスマスといえばどういうわけか黒魔術への需要が一気に高まる時期のようですので、Java Advent Calendar -ja 2010の12月20日はJavaの黒魔術をお送りします。昨日はid:celitanでした。 今日紹介する黒魔術はバイトコードインジェクションツールであるBytemanです。 この前ですね、お仕事で「HTTPレスポンスのヘッダが勝手に想定外のものに書き換わる」という不思議現象の相談を受けたんですね。Servletの中ではsetHeader("Foo", "bar")ってしてるのに、実際のレスポンスは"Foo: hoge"とか返ってる。アプリのJavaソース調べてもそんなことしてなさそうだし、Tomcatのソース見てもsetHeader()呼び出しでは何のログも出さないっぽいのでログを有効にしても原因がわからなさそう。なんだこれはとか思

    BytemanによるJava黒魔術 - nekop's blog
  • はてなブログ | 無料ブログを作成しよう

    毎日ブログを書くようにしたら体調が良くなった ある日ふと、「最近の自分はアウトプットに臆病になっているなー」と感じ、こういうエントリを書いた。 daiksy.hatenablog.jp 内容は、雑なアウトプットで「だいくしーさん考えが浅いな」みたいな「化けの皮が剥がれる」ことを恐れているが、自分が過剰に意識するほど…

    はてなブログ | 無料ブログを作成しよう
  • iPhoneアプリ開発におけるデバッグのTIPS

    2011-2-28 NSLogの出力を分りやすくするを修正しました。 新型MacBookAirをケーキ入刀用に買おうとしてるみなさんこんにちは。ダニーです。 iPhoneアプリ開発をしてるとメモリ周りで落ちることがあってデバッグするのが大変ですね, 今回はデバッグについて紹介したいと思います。 CGRectの中身を表示する CGRect rect = CGRectMake(13, 30, 100, 200); NSLog(@"%f %f %f %f", rect.origin.x, rect.origin.y, rect.size.width, rect.size.height); NSStringFromCGRectを使うと簡潔になります。 CGRect rect = CGRectMake(13, 30, 100, 200); NSLog(@"%@", NSStringFromCGRec

    iPhoneアプリ開発におけるデバッグのTIPS
  • デバッグの第一歩!Emacs Lisp関数をトレースする方法 - http://rubikitch.com/に移転しました

    Emacs Lispのデバッグをしているとき、特定の関数呼び出しをトレースしたいことがあります。 関数呼び出しのトレースとは、呼び出した関数の引数の値と、返り値をチェックすることです。 もちろん、関数が呼び出されたかどうかもわかります。 トレースの実現にはadvice機能を使っています。 M-x trace-functionでトレースするM-x trace-functionは、特定の関数をトレースします。 このコマンドは、トレース対象関数と出力バッファを聞いてきます。 出力バッファはデフォルトで*trace-output*なので、そのままにしておくのが無難です。 複数の関数をトレースする際に出力がごちゃごちゃになるのが嫌ならば別のバッファ名にしておけばいいです。 その後でトレース対象関数を呼び出したら、トレース結果を表示します。 M-x trace-function-backgroundで

    デバッグの第一歩!Emacs Lisp関数をトレースする方法 - http://rubikitch.com/に移転しました
  • バイナリ解析に関するツラツラ - Dlog 隔離館

    「実行ファイルの解析ってどーやるのっ!」 「解析やってみたいよー」 「どこの学科に行けば勉強できるの?!」 などのような質問をよく受けるので、ひとつの個人的な道筋を書いてみます。 とりあえず今回は実行ファイル解析編。アセンブリ楽しいよアセンブリ。 (最後の方には実行ファイルに限らず、いろいろな解析系のリンクをまとめています。) 最初の入門 なんだかんだで一番分かりやすくて「解析してる!」っていう実感が沸きやすそうなのは、crackmeかなあと思うのです。 解析魔法少女美咲ちゃん マジカル・オープン! このは実にいやらしいすばらしい・・・入門の入門と言えようぞ・・・((( 実際問題とても分かりやすく、「16進数って何?」というレベルの人でも頑張れば問題ない構成だと思います。途中までは。 とりあえず半分ぐらいまで熟読してみると、第一歩を踏み出す準備ができるのではないでしょうか。 むしろ、2歩

    バイナリ解析に関するツラツラ - Dlog 隔離館
  • LinuxカーネルHack: GDBでBtrfsをデバッグする - 佐野デジタル研究所

    はじめに 今回は、UML+GDBでBtrfsをデバッグできるようにしてみる。途中で失敗して多少遠回りになったけれども、デバッグはできるようになった。なお、Ubuntu 10.10でのUMLの開発環境がまだ整備できていないので、これまで使ってきたUbuntu 8.04のUMLの環境を使うことにした。 準備 Btrfsは、カーネルビルド時にmake defconfigしただけだと、デフォルトでは組み込まれない。そこで、make menuconfigからBtrfsを組み込むようにする。File systems -> Btrfs filesystem (EXPERIMENTAL) Unstable disk format を選択する。Mだとカーネルモジュールになって面倒なので、*を選択し、カーネルに完全に組み込んでしまうことにした。 これで、ビルドしたlinuxにbtrfs_*な関数にブレークポイ

    LinuxカーネルHack: GDBでBtrfsをデバッグする - 佐野デジタル研究所
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知