タグ

japaneseとgdbに関するmasterqのブックマーク (7)

  • gdbのDynamic Printfを使う - Qiita

    はじめに gdbのDynamic pinrtf機能を使うことで動的にprintfを挿入できます。 breakすることなくプログラムの変数 / 実行パス を確認できます。 使い方 QEMU / gdbLinux kernel の動きを確認するを例に説明します。 consoleAでQEMUを起動します。 TOP_LINUX=~/linux-3.13.0 TOP_BUSYBOX=~/busybox-1.26.2 qemu-system-x86_64 -s -nographic \ -kernel $TOP_LINUX/arch/x86/boot/bzImage \ -initrd $TOP_BUSYBOX/rootfs.img \ -append "root=/dev/ram rdinit=/sbin/init console=ttyS0"

    gdbのDynamic Printfを使う - Qiita
    masterq
    masterq 2021/10/22
    "gdbのDynamic pinrtf機能を使うことで動的にprintfを挿入できます。"
  • ねむいさんのぶろぐ | いろいろ試す49

    !告! DropBoxの仕様変更に伴いまして過去の記事の画像が 見えなくなっていた問題はようやく解消しました! 現在EDGEで正常に閲覧できるよう過去の記事を適宜修正中です。 ●OpenOCDでマルチコアデバッグするやり方 竹様よりコメントでお題をいただいたのでトリプルコア搭載のLPC4370ボード、 LPC-Link2を使って実践してみました。 まずねむいさんのOpenOCDバイナリの/tcl/targetlpc4370_lpclink2_spifi.cfgを 編集します。デフォルトはm4コアしか有効にしていませんがm0subを有効にします。 ①と②の部分が編集した部分です。 m0appは電源投入直後は寝ているので今回は省きます。 なお順番が重要でm4コアを必ず先頭に持ってきておきましょう。 まずOpenOCDを起動したらm4コアにアタッチします。insightでつなぎます。 insi

    ねむいさんのぶろぐ | いろいろ試す49
  • デバッガ

    これまで何度も使ってきたgdb、つまりデバッガだが、これがどのように動いているかを見ていこう。 "デバッガ" とはなんだろうか。 "デバッガ" というと、バグを取ってくれるようなツールに聞こえるが、みなさんご存知のとおり、デバッガはプログラマのかわりにバグを取ってくれるわけではない。 実際のデバッガの動作は実行中のプログラムの状態を見れるツール、つまり "プログラムの状態ビューワ" とでも言ったほうが、現実とあっているだろう。 個人的には'デバッガ"という名称は実態とあってない、とは思うが、この章では、慣習にしたがって、プログラムの状態を調査、変更するツールのことを"デバッガ"と呼び、 そのデバッガを使って実際に何かをすることを"デバッグ"と呼ぶ。 また、デバッグされるプログラムの対象を"デバッギ(debugee)"と呼ぶ。 この章では、まず、デバッガが必要とする基的な操作について説明し

  • QEMUのgdbserver機能でNetBSD kernelをデバッグする - Qiita

    QEMUにはgdbserver1が内蔵されており、ホストのgdbからtcp越しにゲストOSのカーネルをデバッグすることができます。この記事は上のGIF動画のようにNetBSD kernelのデバッグを行うHowtoです。 (VMWareでも同じことができるらしいです。WindowsならVirtualBox+VBoxGDBでもできるらしいです。が、私は日常的にNetBSD仮想マシンを使っている訳では無いので、気軽に環境構築・撤去ができるQEMUが好きです。libvertでもできるらしいのでそのうちやってみようと思ってます。) 注意事項 ホストOSはLinux (Ubuntu 18.04), macOS (Mojave 10.14.3) で検証済みです。Windowsや他のOSでの動作報告お待ちしております! ゲストOSは NetBSD - 8.0-amd64 で検証済みです。 i386の場合

    QEMUのgdbserver機能でNetBSD kernelをデバッグする - Qiita
  • 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 サーバー)の概要 - 赤帽エンジニアブログ
  • ValgrindとGDBでプログラムのメモリアクセスをみてみる | わさらぼ

    プログラムの動的な振る舞い、特にメモリアクセスの様子をみてみたくなることがあります。 たとえば、2017年のデザインガイアで発表されていたFPGAアクセラレータ開発を支援するためのツール環境では、ValgrindとGDBを使ってメモリアクセスの様子を可視化していて、面白そうだな、やってみたいなと思わされます。 とりあえず Valgrind + GDBでメモリアクセスを確認する方法を、ちょっと試してみました。 Valgrindを使ってみる まずはValgrindを使ってみます。ターゲットはfree忘れの簡単なプログラムです。 #include <stdlib.h> #include <strings.h> #define N (100) #define M (128) void dut() { char *ptr; for(int i = 0; i < N; i++) { ptr = (ch

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 1