• ベストアンサー

gdbデバッガって?

punchan_jpの回答

回答No.1

もうちょっと背景説明が欲しいところですが、 gdbということは、UNIX系のアプリケーションでしょうか? コアファイルは残っているでしょうか? あるいは、そのアプリケーションをほぼ確実に落とす手順はあるでしょうか? 前者なら、  gdb アプリケーションプログラムファイル コアファイル として起動してください。後者なら、  gdb アプリケーションプログラムファイル として起動し、アプリケーションが落ちるまで進めて行ってください。 アプリケーションプログラムがデバッグ用に作成されていれば、 ここで  where コマンドを実行することで、落ちた時点の関数がどのような手順で呼び出され いるかの履歴と、各引数の値が表示されるはずです。これがスタックトレース です。 どのソースファイルの何行目であるかも表示されているはずです。 これらの情報を渡せばいいんではないでしょうか?

yukkinn
質問者

補足

ご回答ありがとうございます。 アプリケーションはHP-UX11.0上で動いています。 コアファイルは残っています。 プログラムは常駐プログラムなので落とすことはできません。 例えば、 プログラムの実行ファイル?:test コアファイル:test1 だとすると gdb /フルパス/test /フルパス/test1 と実行すればいいのでしょうか? あと、プログラムが落ちていなくても、gdbコマンドを実行しても大丈夫でしょうか? いろいろ書いてしまいましたが、宜しく御願い致します。

関連するQ&A

  • デバッガをデバッガに掛けたい

     GDBを使ってとあるプログラムをデバッグしているんですが、GDBの動作に疑問があって詳細を調べたくなりました。そこで、デバッグ中のGDBをまたGDBに掛けてデバッグすることを考えたのですが、これを単純にやると二番目のGDBに端末を取られちゃって、一番目のほうは入力がブロックされてしまうようです。  GDBのソースを変更せずに、こういうことを実現する方法はないでしょうか?

  • ステップごとのデバッガはありますか

    プログラム初心者です。 1ステップごとに,アプリケーションの変数やGUI表示などを確認しながらトレースできるトレーサ(IBMメインフレームでいうXpeditorのようなもの) って,何かありませんか? どちらかというとLinuxで動くOSSのものがほしいです。 GUIを使うアプリの解析をしたいので,GUI対応がいいのですが, gdbやptraceとかではできませんよね。

  • デバッガ gdbを使用していると。。。

    このカテゴリでいいのか分からないのですが質問させていただきます。 UNIX上でC言語のプログラムソースをgdbでデバッグしているとき、最初 run でプログラムを走らせますが、その際、次のようなシグナル?が発生します。 Program received signal SIGLWP, Signal LWP. 0xef3b99c8 in __lwp_mutex_unlock () 結構頻繁に出るのですが、再度runすると、普通に動かせるのであまり気にはしていなかったのですが・・。 システムコールの本を読んでもSIGLWPはのっていません。 調べ方がまだまだ足りないと思いますが、 もしどなたかご存知の方いらしたら教えてください。 よろしくお願いします。

  • シャットダウンできません。(デバッガの終了って?)

    アプリケーションエラーが起こり、タスクを終了させようとしたのですが、「このプログラムを終了できません。デバッグ中である場合はプログラムを再開するか、またはデバッガを終了してください。」とでてきます。再起動も強制終了もうまくいきません。いまはリセットボタンを押しています。

  • gdbでの引数の指定

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

  • h8の開発用デバッガについて

    h8の開発用デバッガについて教えてください。 シーケンサーを今まで使っていて、今度h8で制御を行おうと思ってます。 ここでわからないのが、デバッグの仕方です。 マイコンの場合デバッグはどのように行うのでしょうか。 シーケンサーだと簡単だったんですが・・・

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

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

  • JTAGデバッガの購入について

    JTAGデバッガの購入を考えています。 現在、組み込み開発を勉強しており、 今回、実機上でデバッグしたいと考えJTAGデバッガの購入を考えています。 しかし、 私が探したものは、ほとんどが何十万円単位のものであり、 個人の趣味で購入できる値段ではありませんでした。 (というより、ほぼ法人向け販売のようでした) 高くても5万円前後のJTAGデバッガというものはないものでしょうか? また、秋葉原などで購入(個人で購入)できるものなのでしょうか?

  • デバッガでのfopenの動作

    Visual Studio 2005 を使っています。 Win32コンソールプログラムでプログラムを作成しました。 fopenを使ってファイルを読み込むプログラムで、 DOS窓では正しく動作するのに、 デバッガでトレースするとファイルポインタにNULLが返ってしまいます。 アドバイスいただければと思います。

  • arm-linux-gdbをMeadowで使う方法ありますか?

    Cを書くのに、GDB + Meadowを使い始めました。 今回、arm-linux-gccで、組込み用のプログラムをクロスコンパイルしています。そこで、M-x gdbのような感じで、arm-linux-gdbをMeadow上で使うことはできますでしょうか?(例えば、M-x arm-linux-gdb みたいな)やり方、もしくは、参考になるサイトがあればお教えください。 ちなみに、現段階では、gdbserverをターゲットに置いて、arm-linux-gdbをCygwin上から直接起動してデバッグすることには成功しております。Cygwin暦はそれなりにあるのですが、emacs関連の知識は最近始めたばかりで、ほぼ初心者レベルです。よろしくお願いいたします。