• ベストアンサー

gdbの変数の表示について

gdbでプログラムにある変数の表示を行う方法で、表示されている所の変数の全ての中身を一括で表示する方法はありますか?もしくは変数、配列の中身は常に全て表示するといった事は可能なのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Yanch
  • ベストアンサー率50% (114/225)
回答No.1

IDE、例えばEclipseからgdbを使用すれば、GUIで変数の中身を表示できますよ。 もちろん、ステップごとに変数の内容を確認しながらデバッグできます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • GDB デバッガでの変数の表示について

    変数の値の変化を調べるためにGDBデバッガを使っています。現在は、breakでポイントを設定して、disp iで表示する変数を決めてstepで一行ずつ手動で実行しています。 しかし、これを手動でやらなくてももっと簡単にできるのではないかという意見がでたので、自分でいろいろ調べてみたんですがなかなか見つかりませんでした。 変数の値が変化した時に停止とかならあるんですが、そうではなく変数の値が変化したら表示するみたいなことってできないでしょうか。 今は一行ずつstepでi=1、i=2・・・な感じで見ていますが、例えばrunで実行したらすぐにi=1、i=2・・・が全て表示されるようにできないでしょうか。分かりにくい気がしますが、よろしくお願いします。

  • gdbでFortranの名前つきcommonブロック内の変数の表示

    いまどきFortranなんてカテゴリーさえもないのですが、よろしくお願いします。 去年の暮れからLinuxを使って、Fortranで計算をしています。 質問は、Fortranの名前つきcommonブロック内のの配列変数をgbdを使ってデバッグしている時にprintコマンドで表示したいのですが、やり方がわかりません。 write文を使うというデバッグ方法には戻りたくないので、gdbで解決したいのですが、いかがなものでしょう?

  • GDBデバッガの使い方について

    こんにちは! 現在、GDBを使用しています。 変数の値を変更する方法を教えてください。 普通、変数の値を変更する場合、 (gdb)set var 変数名=変更したい値 で変更できると思うのですが、 構造体内のある変数を変更する場合はどのようにすればよろしいでしょうか? 例えば下記の場合、 (gdb)print 構造体名.変数名 $12 = "abab" (gdb)set var 構造体名.変数名=変更したい値 と入力すると、下記のエラーメッセージが出ます。 [Too many array elements] 何は方法はありますでしょうか? 宜しくお願いいたします。

  • GDBである変数に条件を設定してブレイク(2)

    お世話になっております。 https://sourceforge.jp/projects/cc1101driver/scm/svn/blobs/2477/trunk/20140411/event.c こちらのevent.cのevent関数(1039行目)でブレークする方法として、 (gdb) break event.c:event このようにしてbreakpointの設定を行えるようになった野ですが、このevent関数内にある変数i(1041行目)の数値で条件としてi==1になったらブレークをかけたいと思っているのですが、 (gdb) condition 1 i==1 (gdb) run このように設定してrunさせてもブレークしません。ブレークさせるにはどうしたら良いかご教示頂きますよう、お願い致します。

  • gdbでの引数の指定

    起動時に引数を必要とするプログラムを作っていて、 引数が無いと、エラーを表示して終了するようになっています。 このプログラムの終盤で挙動がおかしく、 gdbでデバッグしようとしているのですが、 引数がないため、途中で終了してしまい、 問題の箇所まで進めません。 gdbでデバッグする際に、引数を指定するにはどうすればよいのでしょうか。 環境は以下のとおりです。 よろしくお願いします。 redhat7.2、gdb-5.1-1、gcc-2.96-98

  • メンバ変数に関して

    現在、C++にてプログラム作成しております。 1点プログラミングを行っている中で疑問になった点があります。 アイデア・方法等があれば教えて頂けると幸いです。 現在、メンバ変数として配列を定義したプログラムを作成しております。 そのメンバ変数を同クラス内のたくさんのメソッドから呼び出して処理を行っているのですが、そのメンバ変数の配列数を固定配列数ではなく、可変な配列数にしたいと考えております。 プログラムの実行後に取得した値をメンバ変数の配列数にしたいのです。 このように、メンバ変数の配列数の可変可を実施することは可能でしょうか?

  • gdbを使ったデバッグの方法について

    Linux環境でC言語プログラムを開発している者です。 デバッグをgdbで行おうと思っているのですが、-gオプションを付けてgdb ./a.out でCの実行モジュールを使ったデバッグは行ったことはあるのですが、以下のようなshellスクリプト内で環境変数の設定を行い、設定した環境変数下で./a.out内にbreakポイントを設定するにはどうすればいいのでしょうか?ご教授お願いします。 Test.shの内容 #!/bin/sh export ftn22=’/home/test’ ./a.out Cの実行モジュール

  • phpで 変数の中にデータが入っているかどうかを判別する

    phpで変数の中が空なら・・・ という命令を書く場合 if($hoge == "")とか if(isset($hoge)) という風に書くとおもうんですが、 変数の中身が配列で、その配列の一つでもデータが入っているかどうかを 判別する方法はないのでしょうか? 例えば、 $hoge = array([1] = りんご,[2] = )  と  $hoge = array([1] = ,[2] = ) で、表示結果を変えたいということです。 配列を一旦分解するしかないのでしょうか?

    • ベストアンサー
    • PHP
  • 変数と配列をそれぞれ説明しなさい.また,問題によっては変数よりも配列を

    変数と配列をそれぞれ説明しなさい.また,問題によっては変数よりも配列を用いた 方が適切にプログラムを作成できる場合がある.どのようなケースか,具体的な例を用 いて説明しなさい.という課題があるのですが、特に「問題によっては変数よりも配列を用いた 方が適切にプログラムを作成できる場合がある.どのようなケースか」というのがものすごくわかりにくいです。申し訳ありませんが教えてください。

  • perlで変数の中身を変数とみなす方法ってありますか?

    perlで、変数の中身を変数とみなし、その中身を知る方法ってありますか? 具体的に言うと、 $abc = "$xyz"; $xyz = "test"; なる状況だったとして、$abc から "test" という文字列にたどりつく 方法ってあるのでしょうか? 何をしたいのかというと、テキストファイル上に "$xyz" と書かれてたと します。そのテキストファイルを perl で解読したとき、その時点での 実行中の $xyz に何が入っているかを得たいのです。 もちろん、連想配列を使えば似たようなことができるのは知っていますが、 性質上、できればスタティック変数を使いたいのです。 そのような方法は、perl には用意されているのでしょうか?

    • ベストアンサー
    • Perl