問題タブ [gdbserver]

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

linux - gdb/gdbserver を使用したライブラリ呼び出しのステップ オーバー

gdb/gdbserver に関する一般的な質問があります。ホストで gdb を使用し、リモート ターゲットで gdbserver を使用して、arm linux 組み込みアプリケーションをデバッグしようとしています。main の先頭にあるコード行をステップ実行できます。ただし、gdb (または gdbserver) は、共有ライブラリ関数の呼び出し後に失われるようです。呼び出し後にブレークポイントを設定して続行しても、ブレークポイントにヒットしません。私は共有ライブラリにシンボルを持っていないことを知っており、それらに足を踏み入れることは本当に気にしません。シンボルが共有ライブラリにない場合でも、gdb のライブラリ呼び出しを正常にステップ オーバーしたり、少なくとも次のブレークポイントに進むことができないのでしょうか? それとも、これは別の種類の問題を示していますか?

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

linux - gdbserver を使用した共有ライブラリのデバッグ

ターゲットと CodeSourcery IDE で gdbserver を使用しています。私のハードウェアは、omap3530 を搭載したガムスティックです。

メイン アプリケーションのコードをステップ実行できますが、共有ライブラリの関数にステップ インしようとすると、メモリ アドレスが取得され、デバッガが終了します。

これは、コンパイルされてターゲット システムの /lib フォルダーにコピーされる私のライブラリです (デバッグ シンボルが含まれています)。.gbdinit ファイルを使用して solib-absolute-prefix /lib を設定しようとしました。

gdb トレースからの警告は次のとおりです。

につながる

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

android - Android および NDK で gdb を使用してデバッグできず、Gdb を開始するとアプリがクラッシュする

Android NDK でネイティブ コードをデバッグしようとすると問題が発生します。

アプリの実行中に を起動ndk-gdbすると、gdb がデバイスとの接続を失い、デバイス上のアプリがクラッシュします。

デバイス (Samsung Galaxy 10.1) とエミュレーターの両方でまったく同じことが起こります。ホスト コンピューターは Mac OS X を実行しています。アプリのネイティブ部分は、複数の .so ライブラリで構成されています。ndk-build clean all NDK_DEBUG=1

gdb以下に出力を添付しました。

どんな助けでも大歓迎です。

編集:問題は「cp」コマンドの失敗にあるのでしょうか?そして空の「Using gdb setup init:」行?


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

eclipse-cdt - Eclipse CDT gdbserver を使用したリモート デバッグ: stdin/stdout

OK、これはかなり基本的なことのように思えますが、うまくいきません。私は Eclipse Helios と CDT を使用しています。ホストとターゲットの両方が Linux ボックスです。ターゲット マシンでアプリケーションを次のように起動しています。

gdbserver : ポート my_app

「C/C++ Attach to Application」デバッグ構成を使用してEclipseから正常にアタッチします。アプリケーションの stdout はターゲット システムに表示されますが、stdin がアプリに移動しません。Eclipse では、gdb (コマンド) と gdb トレース用のコンソールがありますが、ローカルでデバッグするときのようなアプリケーション コンソールはありません。デバッグ構成の [コンソールの割り当て] チェックボックスは、gdb コマンド コンソールを取得するかどうかを制御するだけです。

アプリケーションを個別に起動してアタッチしてみました (gdbserver --multi を使用)。これはさらに悪いことでした: eclipse/gdb はすべての実行中のスレッドを認識せず、ターゲット tty の stdin は次のようになりました。

子はシグナル = 0x5 (SIGTRAP) で終了しました

トレース/ブレークポイント トラップ

どんな助けでも大歓迎です。

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

android - valgrindでAndroidアプリを起動する方法

私は先週、この質問に対する答えを見つけようとして探していました。

valgrindでAndroidアプリを起動するにはどうすればよいですか?'am'コマンドでアプリを起動できることはわかっていますが、アプリが起動して終了します。

ネイティブCコードにNDKを使用するアプリを作成していますが、メモリエラーの疑いがあるかどうかを確認する必要があります。

編集:

もう少し学びました。シェルスクリプトを使用してアプリを「ラップ」できます。

これが私が使用しているシェルスクリプトです:

そしてここにsetpropがあります:

そして、これが私がアプリを起動する方法です:

シェルスクリプトがどこに収まるかわからず、logcatに何も表示されないため、これは正しくないと思います。ヒントはありますか?

Edit2:ああ、シェルスクリプトは上記の「setprop」コマンドで示されています。それで

logcatにはまだ何も表示されていません。

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

gdb - プログラムに関数「malloc」があることを示すgdbスローエラー

gdb で次のコマンドを実行しました。コンソール出力は次のとおりです。

(ここでエラーが発生しました)

ここでは、ネイティブ デバッグではなく、ターゲットを使用してデバッグしています。GNU gdb (GDB) 7.2 バージョンを使用しています。スクリプトを使用して解決することは可能ですか。

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

debugging - gdbは、ブレークポイントの後で(カーネルモジュール上の)行番号情報を失います

gdbを仮想マシンのカーネルに接続し、カーネルモジュールをデバッグしようとしています。仮想マシンに接続できます。カーネルコードのシンボル情報があり、カーネルコードを問題なくステップスルーできます。

カーネルモジュールのシンボルファイルを追加すると(ちなみに、リモート接続の前でも後でも)、ブレークポイントを設定するまでlist <function_name>、関数に関する情報を得ることができます。その後:

追加情報:

  • ホストとゲストはどちらもFedora1664ビットです。
  • 私がデバッグしているカーネルは3.0.8です。このカーネルは、異なる環境とリモート接続設定を使用した以前の32ビット設定で正常に機能したことに注意してください。
  • 私はこれをgdb7.2と7.3.50で試しました。

何が悪いのかについてのアイデアはありますか?問題が私のカーネル、カーネルモジュールのコンパイル、接続、またはgdbのいずれであるかを確実に知っていれば、役に立ちます。

更新:gdb 7.1では、次のようになります。

どういう意味ですか?

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

valgrind - valgrind で実行されているアプリケーションをデバッグする

私は valgrind に取り組んでおり、valgrind が実行されている間にプログラムをデバッグしたいと考えています。しかし、組み込みのを使用したくありませんvgdb。代わりに、カスタム gdb サーバーを使用したいと考えています。このカスタム gdbserver を既存の valgrind コードにプラグインする方法はありますか?

ありがとう

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

android - バックトレースが停止しました:gdb android cプロジェクト中に、このフレームと同じ前のフレーム(スタックが破損していますか?)

ndk 経由でプロジェクトをビルドしましたが、残念ながら Android エミュレーターで実行すると、次のプロンプトでクラッシュします。

そして、チュートリアルに従ってプロジェクトをデバッグしましたが、アセンブリ ファイルに行き着きました。また、アセンブリ ファイルを理解するのは簡単ではありません。それで、コアダンプを使うようになりました。しかし、システムがコア ファイルを生成し、gdb でコア ファイルを読み取ろうとすると、次のプロンプトが表示され、gdb が機能しないようです。

結局、次に何をすればいいのかわからないのですが、何かアイデアはありますか? ありがとう

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

linux - gdbserver のクロス コンパイルでのエラー

gdb を使用して arm-Linux 開発ボードでデバッグしたいと考えています。gdbserver のコンパイル時にエラーが発生します。

ホスト: Ubuntu 11 32 ビット ターゲット: arm-linux-gcc (gcc バージョン 4.4.3)

次のエラー メッセージが表示されます。

Googleで検索したものから。コンパイラは ncurses ライブラリを取得できません。

libncurses5-dev をインストールするために提案された解決策に従いますが、問題はまだ存在します。libncurses5 は私の Linux に実際に存在します。

私が見逃したものを助けて指摘してください。どうもありがとうございました