問題タブ [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 投票する
5 に答える
36718 参照

gdb - 印刷方法gdb の変数

gdb は、ある種の変数に対して「不完全な型」を出力することがあります。これは何を意味し、どのようにその値を確認できますか?

0 投票する
6 に答える
230886 参照

c++ - gdb で長い文字列の完全な値を出力するにはどうすればよいですか?

GDB で C 文字列の全長を出力したい。デフォルトでは省略されていますが、GDB に文字列全体を出力させるにはどうすればよいですか?

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

python - Linux 上の Python の環境変数

環境変数への Python のアクセスは、プロセス環境に対するオペレーティング システムのビューを正確に反映していません。

os.getenv および os.environ は、特定のケースで期待どおりに機能しません。

実行中のプロセスの環境を適切に取得する方法はありますか?


私が言いたいことを示すために、2 つのほぼ同等のプログラム (最初は C で、もう 1 つは Python で) を取り上げます。



ここで、C プログラムを実行し、gdb を使用して実行中のプロセスにアタッチし、次のようにして内部の環境を強制的に変更するとします。

すると、前述の C プログラムが 5 秒ごとに「my value」を吐き出します。ただし、前述の python プログラムはそうではありません。

この場合、Python プログラムを C プログラムのように機能させる方法はありますか?

(はい、これは実行中のプロセスで実行する非常にあいまいで潜在的に損害を与えるアクションであることを認識しています)

また、私は現在python 2.4を使用していますが、これはpythonの新しいバージョンで修正されている可能性があります。

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

c++ - GDB で C++ ベクトルの要素を出力するにはどうすればよいですか?

GDBで a の内容を調べたいのですがstd::vector、どうすればよいですか? std::vector<int>簡単にするためにa だとしましょう。

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

c++ - GDB と C++ を使用したメモリ エラーのデバッグ

gdb で C++ プログラムを実行しています。私は gdb の経験はあまりありませんが、次のようなメッセージが表示されます。

これがどこで起こっているかを追跡するにはどうすればよいですか? メモリを表示しても、何の手がかりも得られません。

ありがとう!

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

debugging - GDBで関数の戻り値を調べる方法は?

戻り値が変数に割り当てられていないと仮定して、gdb で関数の戻り値を検査することは可能ですか?

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

c - gdb が ELF 64 ビット プログラムの実行に失敗し、「ファイル形式が認識されません」というメッセージが表示される

GDB を使用してデバッグしようとしています (迷惑なセグメンテーション違反を見つけるため)。私が実行すると:

コマンドラインから、次のエラーが表示されます。

私が実行すると:

次の情報を取得します。

私は GDB 6.1 を使用しており、実行可能ファイルは gcc バージョン 3.4.6 でコンパイルされています。

gdbの使用に関しては、私は少し水が足りませんが、私が知る限り、このインスタンスでは機能するはずです。何がうまくいかないのですか?

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

iphone - Objective-C オブジェクト (NSArray または NSDictionary) に格納されているデータをダンプする方法

ここでばかげた質問になる可能性があることをお許しください。ただし、他のプログラミング言語 (PHP や Perl などのスクリプト言語) では、多くの場合、変数に含まれるすべてのものを簡単にダンプできます。

たとえば、PHP にはvar_dump()orprint_r()関数があります。PerlにはData::DumperCPANクラスなどがあります。

Objective-Cにこのようなものはありますか? いくつかのケースでは、gdb を使用して各変数を検査する代わりに、そのようにすべてをダンプできると非常に便利です。

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

c++ - _dl_sysinfo_int80にぶら下がっているマルチスレッドアプリケーション

_dl_sysinfo_int80()の呼び出しでハングしているマルチスレッドアプリケーションがあります。gdbによると、すべてのスレッドがこの呼び出しでスタックしています。

スタックトレースの一番上は次のようになります。

これを引き起こしている可能性のあるアイデアはありますか?

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

c - 呼び出された関数の GDB 印刷制御フローを作成する

スタック内の深さに応じてインデントされた関数が呼び出されたときに、gdb が対象の関数を出力するようにするにはどうすればよいですか?

私は(でっち上げ)のようなことを言えるようになりたい:

そして、呼び出されたときに Foo または Bar で始まるすべての関数を gdb に出力させます。gnu cflow のようなものですが、デバッグ シンボルを使用し、実際に呼び出される関数のみを表示することを除いて、可能なすべての呼び出しフローではありません。

役に立たないツールには、関数が最も頻繁に呼び出された結果を並べ替える cachegrind、callgrind、および oprofile が含まれます。呼び出す順序を保持する必要があります。

多くの Foo および Bar 関数があるため、ワイルドカード (または同等のもの) は不可欠です。私は絶対にすべての機能を記録することに落ち着きますが. または、特定のライブラリにすべての関数を記録するように gdb に指示することもできます。

一部の GDB ウィザードには、この一般的なジョブのスクリプトが必要です!