最近PHPの中身を探ることが多くなってきました。以前PHPカンファレンス2011で話した「PHPをハックしてオレオレ文法を追加する」のなかでは、PHPの内部の動きを知るにはソースコードリーティングだけだと実際にどんな動きをしているのかわかりづらいので、そういう時はGDB使ってやるといいよ、というふうなことを言いました。とかいいつつ、実際にはGDBを直接使ってはいません。操作がプリミティブ過ぎて使いづらいからです。代わりに、GDBフロントエンドの一つであるCGDBというソフトウェアを利用しています。 この記事ではこのCGDBの概要について簡単に説明します。 CGDBの何が便利なのか GDBフロントエンドには、DDD、Insightなどがあります。また、純粋なGDBフロントエンドの他にも、Eclipse CDT、XcodeなどGDBフロントエンドとしての機能を有しているIDEなどがあります。こ
■ [vim][dev] Pyclewnを使ってVimからGDBを操作 GDBは--tuiオプションを使って使用していたのだけれど、PyclewnというPythonスクリプトを使うと、Vim上でGDBを操作できるようになることを知った。Vimにパッチを当てる必要もなく、GVim必須でもなくて素晴らしい。使い方などをメモ。 インストール 現在の最新バージョンは1.6。インストーラがあるのでそれでインストール。ドキュメントの通り、 % vimdir=$HOME/.vim python setup.py install --force --home=$HOME を実行し、ホームディレクトリへインストールした。これで、pyclewnコマンドやVimのPyclewnプラグインが使えるようになる。 Pyclewnの起動と終了 Pyclewnは、Vimから「:Pyclewn」を実行して起動する方法と、p
gd## page was renamed from STL Support STL Support Tools When you try to use GDB's "print" command to display the contents of a vector, a stack, or any other GDB abstract data structure, you will get useless results. Instead, download and install one of following tools to properly view the contents of STL containers from within GDB. GDB 7.0 will include support for writing pretty-printers in Pytho
いくつかのバグを含むツリーソートのプログラムを用意しました。 treesort1.c #include <stdio.h> #include <stdlib.h> struct node { int value; struct node *left; struct node *right; }; void treeadd(struct node**, int); void treewalk(struct node*); void treefree(struct node*); int main(int argc, char **argv) { struct node *rootp; int i; int array[15] = {50, 12, 18, 70, 41, 19, 91, 1, 7, 6, 81, 65, 55, 20, 0}; for (i = 0; i < 15; i++)
Interface誌の好評連載「標準的デバッガGDBのすべて」を中心に,GDB関連情報をまとめた書籍です.本書ではFree Software Foundationから配布されている,フリーなデバッガGDBを使ったデバッグ手法を解説します.GDBは現存するほとんどすべてのCPUに対応し,数多くのOS上で動作させることができます.そのため,組み込みソフトウェア開発ではデバッガとしてGDBが標準的に使われています.デスクトップ・パソコン向けソフトウェア開発者から組み込みソフトウェア開発者まで,幅広く活用することができます.本書ではGDB本体だけでなく,GDBと連携して活用するツールとして,Emacs,Eclipse,Cygwin,Insightも取り上げます. 目次 第1部 GDBの基本的な使い方 第1章 GDBの簡単な使い方 1 GDBの操作 2 GDBのコマンド 第2章 GDBのセットアップ
先日のShibuya.pm #9のLightening Talkで「gdbでXS on mod_perlをデバッグ」という話をしてきました。XSを使い出すと、従来のPerl的デバッグだけでは不十分なのでgdbをうまく使って、効率的にデバッグしましょう、という話です。実は、はてな社内では1年近く前に勉強で話したネタだったのですが、ようやく公開することができました。 Shibuya.pmでは5分という枠があったのでショートver.でしたが、ここでは制限はないので、本来のロングバージョンの資料をアップします。ちょっと公開できない情報が混っていたので、xxxで隠していますが、ご了承ください。 ちなみに、Rubyとかでも似た感じでデバッグできると思うので、そちらの人も参考にしてください。長いよ!という人は、最後の「これは設定しておけ的gdb初期化マクロ」だけでもどうぞ。かなり便利です。 (資料公開が
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く