ベストアンサー gdbの変数の表示について 2008/11/07 18:50 gdbでプログラムにある変数の表示を行う方法で、表示されている所の変数の全ての中身を一括で表示する方法はありますか?もしくは変数、配列の中身は常に全て表示するといった事は可能なのでしょうか? みんなの回答 (1) 専門家の回答 質問者が選んだベストアンサー ベストアンサー Yanch ベストアンサー率50% (114/225) 2008/11/07 20:57 回答No.1 IDE、例えばEclipseからgdbを使用すれば、GUIで変数の中身を表示できますよ。 もちろん、ステップごとに変数の内容を確認しながらデバッグできます。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発その他(プログラミング・開発) 関連する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] 何は方法はありますでしょうか? 宜しくお願いいたします。 ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム 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] = ) で、表示結果を変えたいということです。 配列を一旦分解するしかないのでしょうか? 変数と配列をそれぞれ説明しなさい.また,問題によっては変数よりも配列を 変数と配列をそれぞれ説明しなさい.また,問題によっては変数よりも配列を用いた 方が適切にプログラムを作成できる場合がある.どのようなケースか,具体的な例を用 いて説明しなさい.という課題があるのですが、特に「問題によっては変数よりも配列を用いた 方が適切にプログラムを作成できる場合がある.どのようなケースか」というのがものすごくわかりにくいです。申し訳ありませんが教えてください。 perlで変数の中身を変数とみなす方法ってありますか? perlで、変数の中身を変数とみなし、その中身を知る方法ってありますか? 具体的に言うと、 $abc = "$xyz"; $xyz = "test"; なる状況だったとして、$abc から "test" という文字列にたどりつく 方法ってあるのでしょうか? 何をしたいのかというと、テキストファイル上に "$xyz" と書かれてたと します。そのテキストファイルを perl で解読したとき、その時点での 実行中の $xyz に何が入っているかを得たいのです。 もちろん、連想配列を使えば似たようなことができるのは知っていますが、 性質上、できればスタティック変数を使いたいのです。 そのような方法は、perl には用意されているのでしょうか? 配列をグローバル変数にとってやりたい 今晩は、Cの初心者です宜しくお願いします。 今、ポインターを使わないでグローバル変数でサブルーチンから配列が使えるのかの勉強をしているのですが、 Cでは、配列をグローバル変数にとってやることは出来ないのでしょうか。 どうも正常にプログラムが実行出来ないのですが。 宜しくお願いします。 ダイナミックテキストに配列の中身を表示させたい 初めて質問させていただきます。 FlashMX2004proでダイナミックテキスト(以下DT)を10個用意して、それぞれに配列の中身(文字が入ってます)を表示させたいのです。 1個目のDTにはmojiArray[0]を 2個目のDTにはmojiArray[1]を というふうに10個表示させたいのです。 DTのプロパティの変数のところにちゃんと変数名を入れてACで配列変数に文字を代入してるのですが表示されません。 配列の中身をDTに表示させることは可能なのでしょうか?お返事よろしくお願いします。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム GDBでデバッグするとき文字列の中身見れますか? Cでプログラムを書いたんですけど、コンパイルは通るが実行すると「セグメンテーション違反です」と出ます。 そこでGDBを用いてデバッグをかけましたけど文字列の中身の見方が分かりません。 つまり、p i とすれば、いまの i の値を出力しますけど、どうすれば文字列 word の中身を見せてくれるか教えてください。 よろしくお願いします。 環境変数の表示について なぜコントロールパネル-システム-環境変数のところには すべての環境変数が表示されないのでしょうか。 コマンドプロンプトでsetをすると、環境変数の一覧が 出てくると思うのですが、その中にはコントロールパネルのところでは 見当たらなかった環境変数があります。 見当たらない環境変数というのは、変える事が不可能なので、 表示されない。ということで合っているでしょうか。 配列変数のアドレス C言語で、配列を宣言した場合、 char a[] = "hoge"; 変数aは初期化された配列の先頭番地を指しているのですが、この時、 変数aの中身も変数aのアドレス(&a)ともに上記の配列の先頭番地になっているようなのですが、 これによって、配列の変数aは読み取り専用で、書き換えられないということにしていると思っていいのでしょうか? ちなみに、 char *p = "fuga"; とした場合は、pと&pのアドレスは異なって、pの中身は書き換えられます。 「配列変数」て何ですか!? #include <stdio.h> #include <string.h> int main() { int suuretsu[10]; int *p; for ( p = suuretsu; *p != 0; p++ ){ printf("p=%p *p=%d\n", p, *p); } } 以上のプログラムで! 「配列変数」が”どこ”に当たるのか ?いまいちピンとこないです!。 参考書にも「配列変数」の解説がありません! ググッたら・違ったプログラムでの解説はあり、 なんとなく分かりはしました。 しかし!プログラムが変わるとニュアンスの違いで! また違った関係があるみたいでいまいち分かりません-- ここでいう、「配列変数」はどこに当たりますか!? 宜しくお願いします。 インプレッサGDBのスピーカーについて はじめまして。 インプレッサのGDB-F型に乗ってます 純正のスピーカーを交換しようと思い色々視聴してきた結果 パイオニアのTS-V171Aが気に入ったので見積もりをお願いした所取り付け出来ないとの事でした。。 インプレッサのグレードでも取り付け出来るのもあるので何故GDB型が取り付けできないのかは十分な説明も頂けず取り付け出来ないって書いてますねーで終ってしまいました。。 どなたか取り付けした方いらっしゃいませんか? その場合どう説明すれば取り付けて貰えるか教えて頂ければと思います。 あ、アルパインの同じ値段帯のスピーカーも取り付け出来ないと言ってました。。 型番はちょっとわかりませんが・・・ 配列内の内容を全て表示する方法 配列s(カウント)という変数があったとします。 この配列の中に、きちんと数値が入っているか 調べたいので、配列内の内容を全て表示する方法が あったら、書き込みお願い致します。 (イミディエイトウィンドゥを使ってみたのですが、 指定した配列内容しか表示されませんでした。 使い方がまずかったか?) VC++でのプログラム実行中に変数の数値を確認する方法 VC++でのプログラム実行中に変数の数値を確認する方法 VC++でプログラムを実行している間に、変数の中の数値がどのように変化するかを表示させるためにはどのような機能があるのでしょうか? 思いつくのは次の2つなのですが、具体的な方法が分かりません。 ご存知方がいたら教えてください。 ?ソースの中に特定の表示名令文を書いておく ?VC++の機能を使って変数の中身を表示させる 配列変数の宣言「その1」 「その1」 僕の見たことのある配列変数の宣言の仕方は2種類あります。 (1)・・・ int hairetu[]; (2)・・・ int [] hairetu; 現在は配列変数であることが分かりやすいという点で (2)が推奨されているというようなことは本で読んだことがあります。 今まではどちらかというと(1)をよく使っていました。 そこで、みなさんのご意見を聞いて、 今後どちらを使うのか考えてみたいと思いました。 (1)の良い所や良くない所、(2)の良い所や良くない所などもあれば教えてほしいです。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など