問題タブ [cgdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
466 参照

c++ - cgdb によるデバッグ -- 自分のコードだけをデバッグしたい

ブーストと一緒に標準のテンプレート ライブラリを使用しています。cgdb を使用してコードをデバッグしたいと考えています。しかし、次の実行中にコードをデバッグしてcgdbにステップインしたいだけです。今は他のライブラリにコードを入力しますが、コーディングして書き留めたコードに戻るか、ステップインする必要があります。

これを実現する方法はありますか。

0 投票する
1 に答える
1139 参照

gdb - gdb ログ ファイル形式

gdb で使用するset logging onと、ログ ファイルへの出力は、ターミナル画面に表示されるものとは異なる形式になります。ログファイルはあまり読みにくいです。ログファイルを読み取り可能な形式で取得するにはどうすればよいですか?

画面への出力は問題ありません。

ログ ファイルへの出力が読みにくい:

0 投票する
2 に答える
2587 参照

linux - gdbを使用してLinuxコアダンプからのプロセスの下にあるすべてのプロセスとスレッドを一覧表示します

私はgdb/linuxコアダンプ用のスクリプトツールを開発しています。スクリプトをコアバンプにポイントすると、処理中のすべてのスレッドのすべてのスタックトレースが一覧表示されます。つまり、達成しようとしているのは、windbgの!process0とほぼ同等のgdbです。ダンプからスタックを使用してすべてのプロセスとスレッドをダンプします。

!process 0に相当するgdbはありますか?

そうでない場合

すべてのプロセスを一覧表示し、コアダンプからgdb内のプロセスの下にあるすべてのスレッドを一覧表示するgdbコマンドは何ですか?

これにより、すべてのpidとtidをループして、ファイルに記録できるバックトレースを取得するスクリプトを作成できますか?

また、perl / pythonなど、このためのスクリプト言語に関する提案もあります。より良いものを歓迎します。

ありがとうガネーシュ

0 投票する
3 に答える
3570 参照

macos - cgdbにアセンブリコードを表示させる方法は?

cgdbがバイナリを逆アセンブルし、コードウィンドウに現在の命令でアセンブリコードを表示する方法が見つかりません。これは可能ですか?どのコマンドを使用すればよいですか?Mac OS Xを使用していて、自作リポジトリからcgdbを取得しました。

0 投票する
2 に答える
491 参照

macos - デバッガーでプロセスがクラッシュしました。どのように私はそれを殺すのですか

USBシリアルリンクを介してマイクロプロセッサに接続するC++アプリケーションがあります(Arduinoに似ています)。termios.h私はシリアルラッパーとして使用します。

cgdbMac OS X で使用してデバッグしてい10.7.3ます。

私がいつ:

  • cgdb build/my-process
  • いくつかのブレークポイントなどを設定し、デバッグを行います
  • バグを見つけるか、insideを使用してまだ実行中のプロセスを終了してみてくださいkillcgdb

プロセスがハングします。cgdbプロセスを強制終了することを拒否します-ただそこに座っています。これは、アプリケーションの途中から、マイクロコントローラーにアクセスしているデバイスを決して解放しないためです。何かがロックされてロックが解除されないかどうかはわかりませんが、終了することはありません。kill/dev/ttyUSBcgdb

私はもう試した:

  • 基本割り込み: Ctrl+C
  • ps aux | grep 'my-process',kill -9 [pid]`.
  • ps aux | grep cgdbkill -9 [pid]
  • sudo上記のバージョン。

どちらかcgdb、またはその中で実行されているプロセスを強制終了するものはありません。

USB ケーブル (マイクロプロセッサへの接続を終了) を取り外すと (クラッシュしたプロセスがクラッシュする可能性があると思いました)、使用可能な CPU が 50% まで使用されているのが見え始め (何が原因かわかりません)、すべてがロックされます。アプリケーションをクラッシュさせることはできません。

( a) プロセスのデバッグ中またはデバッグ中にすべてをロックせずに正常に終了するか、または (b)プロセスを完全に (「完全に」とはケーキのアイシングに過ぎませんが) 停止している間に停止したプロセスを停止します。再起動せずに応答しないデバッグをしていますか?cgdbgdbkill -9

0 投票する
1 に答える
591 参照

gdb - ncurses c アプリケーションに cgdb を使用する

ncurses アプリケーションをデバッグするときは、通常、次のことを行います。

これにより、ncurses アプリケーションが、gdb が実行されている端末とは別の端末で実行されるようになります。

最近 cgdb を発見し、とても気に入っています。残念ながら、 --tty オプションを尊重していないようです。

これを行う他の方法はありますか?cgdb の人々はどのように cgdb をデバッグします :) ?

ありがとう。

0 投票する
1 に答える
508 参照

gdb - GDB 間違ったライブラリをロードする

私は2つの異なるバージョンのライブラリを持っています.libxyz.soとしましょう

2 つの異なる場所で

プログラムをコンパイルし、LD_LIBRARY_PATH に応じてライブラリの適切なバージョンにリンクするセットアップがあります。たとえば、自分のプログラムを libxyz.so の dev バージョンとリンクしたい場合は、LD_LIBRARY_PATH を変更して /home/maverick/dev を追加し、prod バージョンとリンクしたい場合は、LD_LIBRARY_PATH を変更して /home/maverick/prod を追加します。

開発バージョンとの出力をリンクしてプログラムをコンパイルしました

プログラムを実行すると、libxyz.soがロードされます

そしてうまくいきます。この時点で、私の LD_LIBRARY_PATH には /home/maverick/dev ではなく /home/maverick/prod が含まれています

しかし、GDBを介してこのプログラムをデバッグしようとすると

場所からlibxyz.soをロードします

デバッグ中に GDB にライブラリの正しいバージョンをロードさせるのに問題があります。だから今まで私がやっていることは、最初にプログラム(devバージョンをロードする)を起動し、gdbをそのPIDにアタッチすることです。しかし、それが次のように実行される場合

そうではない

GDBでsysroot、solib-search-pathを設定するなど、これを修正するためにあらゆることを試みましたが、何も機能していません。実際、ライブラリ gdb のデバッグ バージョンを指すように sysroot を設定したときに、次のようなメッセージが表示された場合

任意の提案をいただければ幸いです。

0 投票する
1 に答える
8911 参照

cgdb - cgdb内でgdbウィンドウをスクロールする方法は?

cgdbを使用しているときに、gdbウィンドウに表示される出力をどのようにスクロールしますか?

0 投票する
2 に答える
353 参照

debugging - cgdb で実行中の現在の行にジャンプ

のソース ウィンドウで実行中の現在の行にジャンプすることはできcgdbますか?

これを行うためのコマンドまたはショートカットがあれば、特にファイル ダイアログ モードで長時間ファイルをブラウズした後は便利です。