変数の値の変化を調べるためにGDBデバッガを使っています。現在は、breakでポイントを設定して、disp iで表示する変数を決めてstepで一行ずつ手動で実行しています。 しかし、これを手動でやらなくてももっと簡単にできるのではないかという意見がでたので、自分でいろいろ調べてみたんですがなかなか見つかりませんでした。 変数の値が変化した時に停止とかならあるんですが、そうではなく変数の値が変化したら表示するみたいなことってできないでしょうか。
今は一行ずつstepでi=1、i=2・・・な感じで見ていますが、例えばrunで実行したらすぐにi=1、i=2・・・が全て表示されるようにできないでしょうか。分かりにくい気がしますが、よろしくお願いします。
No.7ベストアンサー
- 回答日時:
XPだと2.3じゃないと動かないと思いますが、動きましたか?
うーん。侮れないなXPの互換性。
>2.3はなぜかファイルが開けないとか出てむりだったので
あれ?
それはマクロ版を起動しませんでしたか?ttpmacro.exeって名前のやつは違います。まず普通にTeraTermPro(ttpmacro,exe)を起動してください。
で、ファイルメニューのNew Connectionを選んで、TCP/IPのホスト名を入れます。でポート番号が合っていることを確認してOKを押してください。
SSHでログインが暗号化されていなければ接続できるはずです。puttyを使っていたので暗号化されてるんじゃないかという不安はありますが。
もしSSHで暗号化されたら下記のTeraTermProを使ってみてください。
http://sourceforge.jp/projects/ttssh2/
この回答への補足
あーすいません、2.3はsetup押してインストールするところで、ファイルが開けないと出てインストール無理でした。 1.4と今教えていただいたものは試しましたが、ホスト名とパスワード入れても繋がりません。。。 学校なんでなんか制限があるのかもしれません。
補足日時:2007/11/30 18:15No.6
- 回答日時:
>Type <return> to continue, or q <return> to quit
プログラムが終了したんで出たのだと思います。
条件判断でコントロールできないので仕方ないかなと。
もし状況を見て制御を変えたければ、puttyの代わりにTeraTermProを使うとマクロ制御で動作を変えることが出来ます。
http://hp.vector.co.jp/authors/VA002416/
マクロのマニュアル
http://www.ne.jp/asahi/hishidama/home/tool/tterm …
GDBから返されるメッセージで入力するコマンドを変えることが可能です。
この回答への補足
いろいろありがとうございます。 一応インストールしてみたんですが、2.3はなぜかファイルが開けないとか出てむりだったので1.4をやってみました。しかし、IDとパスワード入れても入れませんでした。2.3じゃないと駄目なんですかね・・・。
補足日時:2007/11/30 16:20No.5
- 回答日時:
サクラエディタですか?
そうすると直接ネットワークでFreeBSDのディレクトリが見えていて、C言語のファイルを編集してることになります。
だったら、ソースと同じ場所にコマンドファイルをサクラエディタで作るだけですよ。
この回答への補足
今やってみました。昨日はなぜかテキストファイルで作っていたのでうまくいかなかったようです。 stepやnextをたくさん書いてみましたが、ある程度進むとType <return> to continue, or q <return> to quitっと入力を求められるんですが、これは仕方ないんですかね。。
補足日時:2007/11/30 12:16No.4
- 回答日時:
putty経由でエディタを起動すれば、ファイルを作成編集できますよ。
エディタのviとかemacsとかを使います。
そもそも、Cソースは何で編集してるんでしょうか?
コンパイルもFreeBSD上でputtyから操作してるんですよね。
エディタvi
http://www.linux.or.jp/JF/JFdocs/vi-user-usage.h …
エディタemacs
http://www.linux.or.jp/JF/JFdocs/Emacs-Beginner- …
この回答への補足
ああ、、、そうなんですか全然分かってなくて申し訳ないです。
エディタはサクラエディタで書いてます。それでputty起動して、gccでコンパイルしています。一度putty経由で起動できるかやってみます。
No.3
- 回答日時:
>解答ありがとうございます。
そうですようはステップ実行を自動で行いたいのです。 んーなかなか難しそうですね・・・まだまだパソコンにもそんなに詳しいわけではないので。そうそう。思い出しましたコマンドファイルを使えば、それに近いことが出来ますね。
サーバ側でファイルにコマンドだけを打ち込んだファイルを作ります。
例えば"cmd"というファイル名にします。中身は、
next
next
next
とかコマンドを沢山書いておきます。
ようはコマンドを自動的に入力してくれる仕組みを利用して実行を自動化するわけなんですが、
GDB実行中に
source cmd
と書くとnextが次々に自動入力されます。
任意のところで止めるのは難しいですが、実行してdispで変数を状態を追いかけるだけなら使えるんじゃないでしょか。
>よく考えたら、コンパイルやデバッガを使うときはXPではなく、puttyというフリーソフト?を使って別の計算機サーバにアクセスしてました。FreeBSDって書いてあります。んーUNIXなのかな・・・よくわからないですが。。
puttyはターミナルソフトで、サーバ側の情報を表示しているだけですね。
FreeBSDはUNIX互換のOSです。FreeBSDが入っていることはMACとかIntel系じゃないCPUですかね?
この回答への補足
何度もありがとうございます。
テキストファイル等でnextとたくさん書いたファイルcmdを作るというのとは違いますよね。 確かに自動入力してくれればいけるかもしれません。
一応外の表示ではDELL intel pentium4 ってなってますね。自分のパソコンはintelでXPなのですが、部屋には他にいくつか計算機サーバ(DELL intel pentium4 FreeBSD)がありまして、そちらで動かしているのではないかと思うのですが。
多分そのFreeBSDの方で作成するんですよね、確かに隣にあるキーボードでいじれそうですが、先生が使ってるのを見たくらいであまり分からない感じです。
No.2
- 回答日時:
GDBでXPですか?
cygwinかMinGWでしょうか?
やっと分かりました。ステップ実行を自動で行いたいのですね。
emacsのマクロで組めば可能かなとは思いますが。
何か出来たような気が・・・。う~ん思い出せない。
変数の変化のブレークポイントは、watchコマンドを使います。
http://rat.cis.k.hosei.ac.jp/article/devel/debug …
cygwinがハードウェアレベルの高速なwatchをサポートしているかは不明です。
この回答への補足
解答ありがとうございます。 そうですようはステップ実行を自動で行いたいのです。 んーなかなか難しそうですね・・・まだまだパソコンにもそんなに詳しいわけではないので。
よく考えたら、コンパイルやデバッガを使うときはXPではなく、puttyというフリーソフト?を使って別の計算機サーバにアクセスしてました。FreeBSDって書いてあります。んーUNIXなのかな・・・よくわからないですが。。。
No.1
- 回答日時:
これです。
http://flex.ee.uec.ac.jp/texi/gdb-j/gdb-j_42.html
ただ、GUIでラップしてくれるDDDなどを使うともっと楽に利用できるようになります。Xwindowが必要ですけど。
CPUが何なのか不明ですが、
>変数の値が変化したら表示
CPU(ハード)がサポートしていないと、とんでもなく遅くなりますよ。
1STEPづつ実行して変数の値に変化がないかGDBが検査することになりますので。
この回答への補足
解答ありがとうございます。そのページは前に見たことがあるのですが、上の方のことでしょうか。
下はdisp機能とかの説明ですよね。遅くなるとかは全然構わないのですが。。。
CPUはインテル、OSはXPです
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby プログラミング 3 2023/06/09 14:30
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- 数学 『Cの微分.2』 3 2023/02/15 19:47
- Excel(エクセル) エクセル、日々の集計整理方法。(再送です。) 5 2022/10/02 00:19
- Excel(エクセル) [Excel2016] 相関表等の自動作成 2 2022/08/01 20:34
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- 筋トレ・加圧トレーニング 成果は後から見えるもの? 2 2022/04/06 22:56
- Excel(エクセル) エクセルのグラフに上下限値の横棒を表示させたい 5 2022/12/12 11:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSでタイトルバーを非表示...
-
32bitアプリから64bitアプリの...
-
ShellExecuteの使い方について
-
javaからバッチファイル実行
-
VBプログラムから「管理者とし...
-
mac mini 2009 でのmac O...
-
JAVAでログ出力するには?
-
SYSTEM関数等を用いて複数のコ...
-
eclipseからのターミナル実行方...
-
windows power shell icacl
-
Eclipseで、プロジェクト名のと...
-
html上で、バッチやexeファイル...
-
Eclipseのアンインストールの仕方
-
split関数で区切り文字がない場合
-
Eclipse「リフレッシュ」と「ク...
-
シンボルが見つかりませんとい...
-
eclipse でclassesフォルダーが...
-
Eclipse・プロジェクトで、フォ...
-
「削除するか、クラスパスの正...
-
eclipseのjavaを実行できない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSでタイトルバーを非表示...
-
VBプログラムから「管理者とし...
-
ShellExecuteの使い方について
-
CloudSticky.jarが起動しない。
-
windowsのタスクスケジューラを...
-
ブレークポイントを設置してな...
-
32bitアプリから64bitアプリの...
-
staticのメモリ共有について
-
実行したらがメモ帳出て来てしまう
-
ShellExecuteでDOSコマンド実行...
-
batよりjava起動
-
C# コマンドプロンプト画面で表...
-
jarファイルをバッチで実行させ...
-
コマンドを実行してコマンドラ...
-
Tomcatのメモリー使用量が知りたい
-
windows power shell icacl
-
SYSTEM関数等を用いて複数のコ...
-
コンパイルできるのに実行できない
-
C#からバッチファイルを起動で
-
「SimpleEntry を型に解決でき...
おすすめ情報