タグ

デバッグに関するnharukiのブックマーク (10)

  • Linux Effective Coredump - Qiita

    はしがき この記事はLinux Advent Calendar 2018に投稿する予定だったけど、日付に間に合いそうになかったため取りやめて、Advent Calendar関係なしに投稿する記事になります。 はじめに この記事は全国300万人のCoredump芸人を気で目指すITエンジニアたち(当社調べ)を応援するために書かれたものである。生半可な気持ちではこの道を極めるのは不可能だ。かつては志を持って挑んだものの破れそして去っていた同士を私はたくさん見てきた。この記事を読み始める前にあなたが当にCoredump芸人を欲するのか今一度見つめ直してほしい。 ...て当? 当のはじめに この記事では、Linuxでcore dumpファイルを作るように設定するところから、実際にデバッグするところまでを、流れとして解説する。 ちょっと執筆環境の都合上、少し古いLinux-4.16あたりを見

    Linux Effective Coredump - Qiita
  • デバッガと和解せよ

    2022/08/28 Kernel/VM探検隊online part5 (https://kernelvm.connpass.com/event/256248/) の @nullpo_head (https://twitter.com/nullpo_head) の発表資料です。 ptraceを使って対象コマンドの全子プロセスにattachしてDwarfを見つつデバッグしたいプロセスを探し、最終的には他のデバッガに処理を流すような不思議なデバッガ(?)を作ることで、zero configurationでvscodeでブレークポイントを打ったプロセスのデバッグを始めてくれる dbgee (https://github.com/nullpo-head/dbgee) という便利ツールを作ったときの話をしました。

    デバッガと和解せよ
    nharuki
    nharuki 2023/05/11
    思いのほか力業だったwでもその分楽そう
  • debuginfod(elfutils debuginfo サーバー)の概要 - 赤帽エンジニアブログ

    この記事はRed Hat DeveloperのIntroducing debuginfod, the elfutils debuginfo serverを、許可をうけて翻訳したものです。debuginfodは現在活発に開発中のソフトウェアで、2020年1月時点では elfutils へのマージが完了し、Fedora 31には含まれましたがまだRHELには含まれていません。 :::By Aaron Merey October 14, 2019 ::: バグを避けることはできないので、開発者は Systemtap や GDB などのデバッグツールへ素早くかつ簡単にアクセスできる必要があります。これらのツールは典型的にはDWARF(Debugging With Attributed Record Formats)を含むdebuginfoやソースファイルに依存します。これらのリソースへのアクセスは

    debuginfod(elfutils debuginfo サーバー)の概要 - 赤帽エンジニアブログ
    nharuki
    nharuki 2020/01/11
    これ、欲しかった奴や!
  • DDMSでAndroidのNative Heapをのぞきみる - Android Zaurusの日記

    9/22/2010 Update libc.soの置き換えは不要*1。 # adb shell setprop libc.debug.malloc 1 # adb shell stop # adb shell start 始まりはいつもandroid-porting*2。Nativeのメモリリーク調べるにはどーしたらいいの?という質問に、それDDMSで出来るよという回答*3が。ターゲットのlibc.soをlibc_debug.soに入れ替えて、ホストの~/.android/ddms.cfgに"native=true"を追加して、ddmsを起動するらしい。 とことで、早速やってみた。libc.soをlibc_debug.soに置き換えて、Androidを再起動するとlogcatにそれっぽいメッセージがでる。 I/libc ( 1376): /system/bin/sh using MALLO

    DDMSでAndroidのNative Heapをのぞきみる - Android Zaurusの日記
  • Ruby用オンラインデバッガー·Ruined MOONGIFT

    RuinedはWebブラウザ上で動作するデバッガーです。 RuinedはRuby製のオープンソース・ソフトウェア。プログラミングを組んでいて、さっぱり分からないバグにハマることは多々ある。そんな時に便利なのがデバッガーだ。コードをステップ実行して追いかければ、どこで問題が発生しているかすぐに分かる。 ステップ実行しながらデバッグ 各プログラミング言語でデバッガーが提供されているが、利用するには何かと手間がかかるものも多い。そこで便利に使えそうなのがWebブラウザ上で動作するデバッガであるRuinedだ。 Ruinedは恐らくRuby 1.9系でのみ動作する。Webサーバを二つ立ち上げるのだが、一つが8383ポートでデバッガーとして動作し、もう一つは8384ポートでWebサーバとして動作する。RubyJavaScriptを組み合わせた面白い動作だ。なお動作中のコード修正はできない。 グロー

  • さらに分かっておきたいトランジスタの種類 − @IT MONOist

    オリジナル4ビットCPUを用いてバイナリコードを学ぶ連載。第13回では、オリジナル4ビットCPU「DL166」にタクトスイッチやフォトセンサーをつないで、そこから得られる値をDL166で読み込めるようにする。

  • ウノウラボ Unoh Labs: php で 簡単にデバッグする方法

    尾藤正人です。 Ruby で debug する7つの方法 Perl での print debug の方法の紹介がブーム(?)だったので、自分がよく行ってる Ruby での debug 方法7つについて書いてみます。 ということなので、僕が PHP でやってること書いてみたいと思います。 preprint_r() print_r() とか var_dump() だと HTML の中に出してブラウザで見るときにすごく見にくくなります。 そこで preprint_r() という関数を定義して、<pre></pre> で囲んで見やすいように出力しています。 function preprint_r(&$var, $title = '') { echo _preprint_r($var, $title); } function &_preprint_r(&$var, $title = '') { if

  • 技術メモ

    技術メモ

  • disassembleによるデバッグの方法 - mir the developer

    開発環境でのバイナリやデバッグバイナリではないもの、すなわち、 障害解析対象のプログラムは-gが付いていない(プロダクション用なら当然) というようなバイナリからとれたstacktraceを手がかりにsignal 11の位置を特定する方法について書きます。 (以前よりも少しやりかたを改善できたのでメモしておきます。もっと簡単にできる方法があればコメント下さい) 16進数のstacktraceを確認 まずエラーログを見る。mysqldの場合はエラーログにstacktraceを吐いてくれるので別にcoreファイルがなくても大丈夫。吐いてくれないプログラムの場合は"ulimit -c unlimited"でcoreを出すようにしておいてbtする。 こんな感じの16進数のstacktraceが取れる。 0x5c4ceb 0x6267de 0x626e63 ...hoge.logとでもしておく。 バ

    disassembleによるデバッグの方法 - mir the developer
  • 川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
  • 1