問題タブ [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.
c++ - .pc ファイルをデバッグするには?
私は emacs + gdb を使用して unix で大量の .c ファイルをデバッグしていますが、常にうまく機能していました。しかし、私が取り組んでいるプロジェクトの中には、大量の .pc (Pro*C/C++) ファイルも含まれているものがあります。これらのファイルは、コンパイル後に .c および .i 関連ファイルを生成します。しかし、実行時に gdb の .i ファイルしか見ることができません。これはデバッグには役に立たず、常に同期していません。つまり、gdb は必要な .c ファイルをロードしません。
私と一緒に働いている人の 1 人は、別のエディターで .c ファイルを開き、.i ファイルに関して gdb が表示する行のソースを見つけようとすることを提案しました。
別の方法はありますか?.c ファイルを gdb にロードするにはどうすればよいですか? この .pc ファイルをデバッグするには?
iphone - GDB を使用して、Objective C クラスのクラッシュを調べます (HandleDelegateSource の不正なアクセス)
iPhone で断続的なエラー、次のようなトレースを伴うクラッシュをデバッグしようとしています。
GDB が停止したときに、システムが呼び出されようとしているセレクターの詳細を特定できるようにしたいと考えています。[NSInvocation Invoke] の周りにブレーク ポイントを設定しましたが、そのポイントから詳細を調べる方法がわかりません。私が立ち寄った NSInvocation オブジェクトの
linux - プロセス内から Linux コア ファイルをダンプする良い方法は何ですか?
現在、SEGV をキャッチして内部情報をファイルにダンプするサーバー (C および C++ で作成) があります。コア ファイルを生成し、SEGV をキャッチした時点でそれをディスクに書き込みたいと考えています。これにより、サポート担当者と顧客は、コアを取得するために ulimit に悩まされ、クラッシュが再び発生するのを待つ必要がなくなります。ファイル。過去に中止機能を使用しましたが、ulimit ルールの対象となり、役に立ちません。
/proc/pid/map を読み取ってコア ファイルを手動で生成するレガシー コードがいくつかありますが、それは古く、あまり移植性がないようです (たとえば、64 ビットでは動作しないと推測しています)。ビルドします)。Linux プロセスでコア ファイルを生成してダンプする最良の方法は何ですか?
debugging - Cygwin実行可能ファイルからのスタックダンプの使用
だから私は時々クラッシュするバグのあるコードを書きました...そしてスタックダンプファイルを作成します。
addr2lineを使用すると、アドレスを1つずつデコードすることで、プログラムがどのようにクラッシュポイントに到達したかを把握できます。スタックダンプを使用してデバッグを容易にすることができる代替ツールはありますか?この情報をInsight/Gdbにロードする方法はありますか?
c++ - Linuxでのアプリケーションのデバッグ
Linuxでアプリケーションをデバッグしたい。アプリケーションはC++で作成されています。GUIはQTを使用して作成されます。GUIは、アプリケーションのバックエンドとして扱うことができる静的ライブラリにリンクされています。
静的ライブラリをデバッグしたいのですが、その方法がわかりません。
gdbを使ってみました
しかし、どうすればライブラリを添付できますか?
Linuxでライブラリをデバッグした経験のある人はいますか?
debugging - x86でシンボルをデバッグせずにGDBを使用していますか?
GDBを使用して、32ビットx86プロセッサでデバッグシンボルを持たないプログラムをデバッグするにはどうすればよいですか?関数の引数、ローカル変数を調べ、ポインターを解決することは、その方法を知るのに役立ちます。これをリバースエンジニアリングに使用するつもりはありません。デバッグシンボルをインストールするのが面倒な場合があり、gdbから基本的な情報を取得する方法を知っておくとよいでしょう。
shell - gdb を呼び出して、デバッグ中のプログラムに引数を自動的に渡します
(特定の条件下で)gdbを実行し、いくつかのプログラムXを引数Yのセットで自動的に実行するスクリプトを書きたいと思います。プログラムの実行が終了したら、ユーザーは明示的に終了するまでgdbのプロンプトに留まる必要があります.
これを行う 1 つの方法は、スクリプトで実行コマンドと引数 Y をファイル F に出力し、スクリプトで次のように gdb を呼び出すことです。
しかし、一時ファイルを導入せずにこれを行う方法はありますか?
c++ - gdb で逆参照された STL イテレータを表示する
map 要素への反復子があり、gdb にその反復子の「最初の」要素と「2 番目の」要素の値を表示してもらいたいと考えています。例えば:
コードで p.first と p.second を使用できますが、gdb でそれらを確認できません。価値のあることとして、dbx では「print p.node.second_」のようなことを行うことができますが、gbd では同様のものを見つけることができます。
オブジェクト型を渡す関数を用意したいと思っていますが、それを機能させることもできませんでした。
何か案は?ありがとう!
c++ - __kernel_vsyscall とは何ですか?
私は通常のものとは非常に異なって見えるコアを手に入れました - ほとんどのスレッドは __kernel_vsyscall() にあります:
どういう意味ですか?
編集: 特に、「pthread_cond_wait」と「___newselect_nocancel」に多くのスレッドが表示されますが、これらは各スレッドの 2 番目のフレームにあります。このコアが異なるのはなぜですか?