問題タブ [gdb]

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 に答える
3226 参照

c++ - .pc ファイルをデバッグするには?

私は emacs + gdb を使用して unix で大量の .c ファイルをデバッグしていますが、常にうまく機能していました。しかし、私が取り組んでいるプロジェクトの中には、大量の .pc (Pro*C/C++) ファイルも含まれているものがあります。これらのファイルは、コンパイル後に .c および .i 関連ファイルを生成します。しかし、実行時に gdb の .i ファイルしか見ることができません。これはデバッグには役に立たず、常に同期していません。つまり、gdb は必要な .c ファイルをロードしません。

私と一緒に働いている人の 1 人は、別のエディターで .c ファイルを開き、.i ファイルに関して gdb が表示する行のソースを見つけようとすることを提案しました。

別の方法はありますか?.c ファイルを gdb にロードするにはどうすればよいですか? この .pc ファイルをデバッグするには?

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

iphone - GDB を使用して、Objective C クラスのクラッシュを調べます (HandleDelegateSource の不正なアクセス)

iPhone で断続的なエラー、次のようなトレースを伴うクラッシュをデバッグしようとしています。

GDB が停止したときに、システムが呼び出されようとしているセレクターの詳細を特定できるようにしたいと考えています。[NSInvocation Invoke] の周りにブレーク ポイントを設定しましたが、そのポイントから詳細を調べる方法がわかりません。私が立ち寄った NSInvocation オブジェクトの

0 投票する
8 に答える
14692 参照

linux - プロセス内から Linux コア ファイルをダンプする良い方法は何ですか?

現在、SEGV をキャッチして内部情報をファイルにダンプするサーバー (C および C++ で作成) があります。コア ファイルを生成し、SEGV をキャッチした時点でそれをディスクに書き込みたいと考えています。これにより、サポート担当者と顧客は、コアを取得するために ulimit に悩まされ、クラッシュが再び発生するのを待つ必要がなくなります。ファイル。過去に中止機能を使用しましたが、ulimit ルールの対象となり、役に立ちません。

/proc/pid/map を読み取ってコア ファイルを手動で生成するレガシー コードがいくつかありますが、それは古く、あまり移植性がないようです (たとえば、64 ビットでは動作しないと推測しています)。ビルドします)。Linux プロセスでコア ファイルを生成してダンプする最良の方法は何ですか?

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

debugging - Cygwin実行可能ファイルからのスタックダンプの使用

だから私は時々クラッシュするバグのあるコードを書きました...そしてスタックダンプファイルを作成します。

addr2lineを使用すると、アドレスを1つずつデコードすることで、プログラムがどのようにクラッシュポイントに到達したかを把握できます。スタックダンプを使用してデバッグを容易にすることができる代替ツールはありますか?この情報をInsight/Gdbにロードする方法はありますか?

0 投票する
5 に答える
1973 参照

c++ - Linuxでのアプリケーションのデバッグ

Linuxでアプリケーションをデバッグしたい。アプリケーションはC++で作成されています。GUIはQTを使用して作成されます。GUIは、アプリケーションのバックエンドとして扱うことができる静的ライブラリにリンクされています。

静的ライブラリをデバッグしたいのですが、その方法がわかりません。

gdbを使ってみました

しかし、どうすればライブラリを添付できますか?

Linuxでライブラリをデバッグした経験のある人はいますか?

0 投票する
4 に答える
19989 参照

debugging - x86でシンボルをデバッグせずにGDBを使用していますか?

GDBを使用して、32ビットx86プロセッサでデバッグシンボルを持たないプログラムをデバッグするにはどうすればよいですか?関数の引数、ローカル変数を調べ、ポインターを解決することは、その方法を知るのに役立ちます。これをリバースエンジニアリングに使用するつもりはありません。デバッグシンボルをインストールするのが面倒な場合があり、gdbから基本的な情報を取得する方法を知っておくとよいでしょう。

0 投票する
8 に答える
48506 参照

shell - gdb を呼び出して、デバッグ中のプログラムに引数を自動的に渡します

(特定の条件下で)gdbを実行し、いくつかのプログラムXを引数Yのセットで自動的に実行するスクリプトを書きたいと思います。プログラムの実行が終了したら、ユーザーは明示的に終了するまでgdbのプロンプトに留まる必要があります.

これを行う 1 つの方法は、スクリプトで実行コマンドと引数 Y をファイル F に出力し、スクリプトで次のように gdb を呼び出すことです。

しかし、一時ファイルを導入せずにこれを行う方法はありますか?

0 投票する
5 に答える
18144 参照

c++ - gdb で逆参照された STL イテレータを表示する

map 要素への反復子があり、gdb にその反復子の「最初の」要素と「2 番目の」要素の値を表示してもらいたいと考えています。例えば:

コードで p.first と p.second を使用できますが、gdb でそれらを確認できません。価値のあることとして、dbx では「print p.node.second_」のようなことを行うことができますが、gbd では同様のものを見つけることができます。

オブジェクト型を渡す関数を用意したいと思っていますが、それを機能させることもできませんでした。

何か案は?ありがとう!

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

c++ - icc コンパイラを使用して gdb の std::vector の内容を調べるにはどうすればよいですか?

gdb で std::vector の内容を調べたいのですが、gcc ではなく icc を使用しているため、_M_impl にアクセスできません。どうすればよいですか? 簡単にするために、それが std::vector だとしましょう。

ここに非常に良い答えがありますが、icc を使用すると機能しません。エラー メッセージは「_M_impl という名前のメンバーまたはメソッドがありません」です。ここには優れたデバッグ ツールセットがあるようですが、_M_impl にも依存しています。

0 投票する
4 に答える
28308 参照

c++ - __kernel_vsyscall とは何ですか?

私は通常のものとは非常に異なって見えるコアを手に入れました - ほとんどのスレッドは __kernel_vsyscall() にあります:

どういう意味ですか?

編集: 特に、「pthread_cond_wait」と「___newselect_nocancel」に多くのスレッドが表示されますが、これらは各スレッドの 2 番目のフレームにあります。このコアが異なるのはなぜですか?