このホームページは以下に移動しました. ブックマークを張り直してください. 5秒後に自動的に移動します. http://kozos.jp/kozos/kozos17.html
このホームページは以下に移動しました. ブックマークを張り直してください. 5秒後に自動的に移動します. http://kozos.jp/kozos/kozos17.html
gcore_with_breakpointって何? プログラムを止めずに core dump が取れる!! break point を設定して、そのポイントでの core dump が取れる!! break point のアドレスを控えておけば、debuginfo の無い環境でも core dump が取れる!! ↓ ↓ ↓ なので、ユーザ環境への変更を最低限に抑えつつ、core dump を取得可能に!! usage: gcore_with_breakpoint [-o filename] [-b breakpoint] [-n prog_name | pid] GitHub - BlueSkyDetector/gcore_with_breakpoint: Extend gcore script to enable to set breakpoint in command line. も
2011年02月08日 Androidのdebuggerd Androidのポーティング作業や、NDKでネイティブライブラリの開発をしている方は、ネイティブのプログラムの部分で不正なメモリアクセスなどで例外が発生したときに、logcatでのログに、その例外を起こしたプロセスのレジスタやスタックがダンプされるのを見ることがあると思います。 これは一体どのような仕組みでこのダンプがログに出ているのでしょうか? (English version of this page) ダンプの例 以前書いたページでSIGBUS(バスエラー)の例外が発生した時のログです。 I/DEBUG ( 543): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** I/DEBUG ( 543): Build fingerprint: 'gene
Java Programming Language Googleの20%プロジェクトからJava向けの新しい技術「cofoja (Contracts for Java)」が公開された。既存の実装に大きく手を加えることなく、デバッグをより簡単にしてくれる効果が期待できる。バグは些細なコードが起こすものだったりするが、それを追跡して発見するのは時に困難を極める。これは問題が発生した箇所と、実際にバグがある箇所が大きく離れていることが理由になっていることもある。問題発生箇所とバグ発生箇所を近くにまとめることができれば、それだけバグ発見も取り組みやすくなる。 cofojaはこれを簡単に実現するための技術。インタフェースに制約表現を追加可能にするところがポイントとなっており、クラスの実装に手を加えなくてもインタフェースに制約表記を追加することで実行時にチェックできるようになる。ブログに掲載されている
(I’m putting this up because I couldn’t find anything that described how to set this up and I had to connect different fragments of information, and file an invalid bug report before I figured it out.) If you want to be able to debug a Linux kernel that’s running as a KVM guest, you need to specify the ‘-s’ parameter for the command line of qemu-kvm. The problem is, there’s no (easy) way to do thi
This document describes the process of debugging netbsd kernel using gdb while running said kernel in qemu. It also talks about how a disk image with a suitable file system can be created on a linux host. Most of these instructions stand for other guest operating systems; some of these instructions (although yet untested) will as well apply for non-linux host. Any mentions of NetBSD hereafte
Java Advent Calendar -ja 2010 : ATND 11日目。昨日は、id:daisuke-m でした。 完全に Eclipse のこと書けとふられてる感じがしたので Eclipse について書く。 Eclipse の何について書こうかと考えたんだけど、先日、社会人になってからプログラム書き始めた弊社の若い子が、「デバッガ」の存在を知らなかったのでデバッガの基本的な使い方などについて書く。 PHPというちょっとしたWebページをさらっと書くには素晴らしい言語だけしか知らないみたいだから、あんまりデバッガ使う文化が無かった模様です。 var_dumpデバッグェ…。 今回は初心者向け記事なので、基本Java使い倒してる皆様は読まなくてよろしいが、Break Point Properties の Condition とかDrop To FrameとかExpressionの機
Netdump Support カーネルコアダンプをローカルディスクに対して実施するのではなく、ネットワーク経由で実施するための取り組みNetdumpに関する開発が報告されています。Netdumpは最小限のTCP/IPv4スタックとカスタムUDPプロトコルを実装して、カーネルコアダンプをnetdumpサーバへ向けて実施するというものです。ディスクレスワークステーションクラスタ、PEXブートマシン、ディスクドライバ開発などにおいて活用できる機能だと説明されています。 今後取り組む内容として、FreeBSDダンプメカニズムの洗練、UDPパケットのチェックサム実装、カスタムプロトコルをtftpで置き換えられるかの調査、カスタムTCP/IPv4をContikiで置き換えられるかの調査、ネットワークコンソール実装、ネットワークgdbバックエンド実装、IPv6サポートなどが挙げられています。
サーバ監視に超使える〜topコマンドのまとめ サーバを運用しているとよく使うtopコマンドですが、標準のtop以外にも色々便利なものがあるのでまとめてみました。 ボトルネックといえば、ネットワーク、ディスクIO、スワップ、CPU、メモリといったものが関連しますが、ツールで視覚化することでより分かりやすい対策がとれますね。 htop こちらも、通常のtopよりもさらに多数の情報を表示してくれるツール。 CPUやメモリの状態が視覚的にグラフで表示されていたり、複数CPUがある場合もそれぞれに利用率を表示してくれてわかりやすいです。 pstreeで表示するようなツリー+topコマンドのような表示も t を押せば切り替えられます。 公式サイト上にある128コア積んだマシンのhtop結果が面白い。 次のようにすべてグラフで表示されているため、128コアあったとしても瞬時に負荷が把握できますね。 io
これまでUML(User Mode Linux)でカーネルデバッグできる環境を使って、カーネルの解析等を行ってきた。UMLの環境は、VMWare Server上のUbuntu 8.0.4に構築していたが、最近、起動しなってしまった。これまでKVM(Kernel-based Virtual Machine)に興味があったものの、手元にはIntel VT対応CPUが無く、ずっと試せない状況だった。そこで、Intel VT対応のマシンを新たに購入し、そのマシンにLinuxカーネル開発環境を作ることにした。 余談: 購入したマシンについて 購入したマシンスペックは、以下の通り。o'zzioのXRシリーズ。http://www.ozzio.jp/html/ozzio_xr_specs.htm このマシンにUbuntu 10.10をインストールした。 CPU: Intel Core i7 870 (8
ソフトウェア開発において、テストやデバッグは設計やコーディング以上に重要な工程である。これらの工程において、プログラム中の問題検出やパフォーマンス解析に役立つ強力なツールがインテル Parallel Studio XEに含まれる「インテル VTune Amplifier XE」や「インテル Inspector XE」だ。本記事ではこれらのツールを用いてmemcachedのチューニングを行い、高速化を試みた事例を紹介する。 プログラム解析に役立つ「インテル VTune Amplifier XE」と「インテル Inspector XE」 ソフトウェア開発工程においては、一般に設計→実装→テスト、という順序で開発が進められる。一般にソフトウェア開発というと、実際にプログラミングを行う実装工程が注目されがちではあるが、そのあとに行われるテストも非常に重要な工程であり、実装工程以上に時間やコストを要
(この記事はHaskell Advent Calendar jp 2010のために書かれました) 要旨 絶対にバグが出ない言語などというものは 無く、理不尽な挙動を前にして 途方にくれる時もある。 それを乗り越える為には、確固 たる信念と洞察、そして (1)deriving Show (2)print (3)Debug.Trace が必要である。 Haskell Haskellはやっぱり魅力的です。無限リストを使ったプログラム(速度はともかく)や、自分でも理解しないまま型を合わせただけのプログラムがなぜか無事に動いたりすると魔法すら感じられます。ソースの見た目も美しいです。シンプルに書けて副作用が無くて型推論が有るので、Haskellはバグの出にくい言語とされています。 それだけに、Haskellで出たバグは取りにくく、しかも苦労して突き止めた結果が言語設計の根幹に関わる深刻な問題とかなら
SystemTapで真犯人を捕まえろ!:Linuxトラブルシューティング探偵団 番外編(3)(1/4 ページ) NTTグループの各社で鳴らした俺たちLinuxトラブルシューティング探偵団は、各社で培ったOSS関連技術を手に、NTT OSSセンタに集められた。普段は基本的にNTTグループのみを相手に活動しているが、それだけで終わる俺たちじゃあない。 ソースコードさえあればどんなトラブルでも解決する命知らず、不可能を可能にし、多くのバグを粉砕する、俺たちLinuxトラブルシューティング探偵団! 助けを借りたいときは、いつでもいってくれ! OS:高田哲生 俺はリーダー、高田哲生。Linuxの達人。俺のようにソースコードレベルでOSを理解している人間でなければ、百戦錬磨のLinuxトラブルシューティング探偵団のリーダーは務まらん。 Web:福山義仁 俺は、福山義仁。Web技術の達人さ。Apache
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message Hi, I want to find memory leaks in native code. The thread below gives some information about the same. I added "native=true" in ~/.android/ ddms.cfg and started the stand alone DDMS (in windows ) and I'm also able to see Native Heap tab in the same. But no data i
2009年09月24日 DWARF と有限状態機械 (3) これまでの流れ - DWARF と有限状態機械 - DWARF と有限状態機械 (2) 概要、プログラムヘッダときて、今回のバイトコードで行番号プログラムの仕様は最後です。 行番号プログラムの目的は、1つのコンパイル単位中の行番号情報表を構築することです。つまり、プログラムを実行すると、表が出力として得られます。 この表は、命令アドレス、ファイル名、行、列、各種位置フラグ(ブレークポイント関係など)など、有限状態機械の状態と1列が対応するようなものです。つまり、行番号プログラムの実行過程における有限状態機械の状態遷移の記録=行番号情報表となります。 この表において、命令アドレスは増加する一方ですが、行番号はコンパイラの最適化などによる命令の並び替えによって減少する場合もあります。 行番号プログラムのバイトコードには、12種類のst
2009年10月02日 Non-stop multi-threaded debugging GDBの7.0からReverse Debugging(ヒストリの逆実行)が入るということで、一部で話題になっているようです。 http://www.gnu.org/software/gdb/news/reversible.html http://d.hatena.ne.jp/hayamiz/20090930/1254323169 (ネタ元は、私がtwitterに張ったURLのようです。すごいブックマークの数ですね。) ちなみに私は、greenteaさんの獲物で知ったのですが、同僚の佐藤さんやkobaさん、社長などは既に知っていました。 この機能は、GCC Summit 2007で発表されたようです。 http://ols.108.redhat.com/2007/GCC-Reprints/GCC200
2010年03月03日 QEMUにデバッガをつなぐ 今回はQEMUにデバッガをつなぐ話をします。 QEMUそのものをgdbで追いかける QEMU上の仮想マシンにgdbをつなぐ QEMUそのものとその上の仮想マシンを同時に2つのgdbで追いかける QEMUそのものをgdbで追いかける インストールされたqemu-system-armはシンボル情報が削除されています。(stripped) $ file /usr/bin/qemu-system-arm /usr/bin/qemu-system-arm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped なので、QEMUをソースからビルドして、arm-s
使用頻度が高いのはデベロッパーツールを起動するCtrl+Shift+I(もしくはCtrl+Shift+J)と、コンソールを開閉するESC、コンソールでは補完候補を選択するtabなどが挙げられます。 例えば、長くて間違えやすいencodeURIComponentのスペルは、Ctrl+Shift+Jでデベロッパーツールを起動してコンソールを開き(コンソールが開かなかった場合はESC)、eだけ打ってtabキーを2回押せば encodeURIComponent が補完されるので、スペルを簡単にコピーできます。 JavaScriptデバッガの活用 前回はブレークポイントの設置方法を紹介しましたが、もう一歩進んだ条件付きブレークポイントの設置方法を紹介します。 まず、通常のブレークポイントを設置します。 この青くハイライトされた行番号の上で右クリックすると次のようなメニューが表示されます。 ここで
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く