問題タブ [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.
linux - gdb/gdbserver を使用したライブラリ呼び出しのステップ オーバー
gdb/gdbserver に関する一般的な質問があります。ホストで gdb を使用し、リモート ターゲットで gdbserver を使用して、arm linux 組み込みアプリケーションをデバッグしようとしています。main の先頭にあるコード行をステップ実行できます。ただし、gdb (または gdbserver) は、共有ライブラリ関数の呼び出し後に失われるようです。呼び出し後にブレークポイントを設定して続行しても、ブレークポイントにヒットしません。私は共有ライブラリにシンボルを持っていないことを知っており、それらに足を踏み入れることは本当に気にしません。シンボルが共有ライブラリにない場合でも、gdb のライブラリ呼び出しを正常にステップ オーバーしたり、少なくとも次のブレークポイントに進むことができないのでしょうか? それとも、これは別の種類の問題を示していますか?
linux - gdbserver を使用した共有ライブラリのデバッグ
ターゲットと CodeSourcery IDE で gdbserver を使用しています。私のハードウェアは、omap3530 を搭載したガムスティックです。
メイン アプリケーションのコードをステップ実行できますが、共有ライブラリの関数にステップ インしようとすると、メモリ アドレスが取得され、デバッガが終了します。
これは、コンパイルされてターゲット システムの /lib フォルダーにコピーされる私のライブラリです (デバッグ シンボルが含まれています)。.gbdinit ファイルを使用して solib-absolute-prefix /lib を設定しようとしました。
gdb トレースからの警告は次のとおりです。
につながる
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:」行?
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) で終了しました
トレース/ブレークポイント トラップ
どんな助けでも大歓迎です。
android - valgrindでAndroidアプリを起動する方法
私は先週、この質問に対する答えを見つけようとして探していました。
valgrindでAndroidアプリを起動するにはどうすればよいですか?'am'コマンドでアプリを起動できることはわかっていますが、アプリが起動して終了します。
ネイティブCコードにNDKを使用するアプリを作成していますが、メモリエラーの疑いがあるかどうかを確認する必要があります。
編集:
もう少し学びました。シェルスクリプトを使用してアプリを「ラップ」できます。
これが私が使用しているシェルスクリプトです:
そしてここにsetpropがあります:
そして、これが私がアプリを起動する方法です:
シェルスクリプトがどこに収まるかわからず、logcatに何も表示されないため、これは正しくないと思います。ヒントはありますか?
Edit2:ああ、シェルスクリプトは上記の「setprop」コマンドで示されています。それで
logcatにはまだ何も表示されていません。
gdb - プログラムに関数「malloc」があることを示すgdbスローエラー
gdb で次のコマンドを実行しました。コンソール出力は次のとおりです。
(ここでエラーが発生しました)
ここでは、ネイティブ デバッグではなく、ターゲットを使用してデバッグしています。GNU gdb (GDB) 7.2 バージョンを使用しています。スクリプトを使用して解決することは可能ですか。
debugging - gdbは、ブレークポイントの後で(カーネルモジュール上の)行番号情報を失います
gdbを仮想マシンのカーネルに接続し、カーネルモジュールをデバッグしようとしています。仮想マシンに接続できます。カーネルコードのシンボル情報があり、カーネルコードを問題なくステップスルーできます。
カーネルモジュールのシンボルファイルを追加すると(ちなみに、リモート接続の前でも後でも)、ブレークポイントを設定するまでlist <function_name>、関数に関する情報を得ることができます。その後:
追加情報:
- ホストとゲストはどちらもFedora1664ビットです。
- 私がデバッグしているカーネルは3.0.8です。このカーネルは、異なる環境とリモート接続設定を使用した以前の32ビット設定で正常に機能したことに注意してください。
- 私はこれをgdb7.2と7.3.50で試しました。
何が悪いのかについてのアイデアはありますか?問題が私のカーネル、カーネルモジュールのコンパイル、接続、またはgdbのいずれであるかを確実に知っていれば、役に立ちます。
更新:gdb 7.1では、次のようになります。
どういう意味ですか?
valgrind - valgrind で実行されているアプリケーションをデバッグする
私は valgrind に取り組んでおり、valgrind が実行されている間にプログラムをデバッグしたいと考えています。しかし、組み込みのを使用したくありませんvgdb。代わりに、カスタム gdb サーバーを使用したいと考えています。このカスタム gdbserver を既存の valgrind コードにプラグインする方法はありますか?
ありがとう
android - バックトレースが停止しました:gdb android cプロジェクト中に、このフレームと同じ前のフレーム(スタックが破損していますか?)
ndk 経由でプロジェクトをビルドしましたが、残念ながら Android エミュレーターで実行すると、次のプロンプトでクラッシュします。
そして、チュートリアルに従ってプロジェクトをデバッグしましたが、アセンブリ ファイルに行き着きました。また、アセンブリ ファイルを理解するのは簡単ではありません。それで、コアダンプを使うようになりました。しかし、システムがコア ファイルを生成し、gdb でコア ファイルを読み取ろうとすると、次のプロンプトが表示され、gdb が機能しないようです。
結局、次に何をすればいいのかわからないのですが、何かアイデアはありますか? ありがとう
linux - gdbserver のクロス コンパイルでのエラー
gdb を使用して arm-Linux 開発ボードでデバッグしたいと考えています。gdbserver のコンパイル時にエラーが発生します。
ホスト: Ubuntu 11 32 ビット ターゲット: arm-linux-gcc (gcc バージョン 4.4.3)
次のエラー メッセージが表示されます。
Googleで検索したものから。コンパイラは ncurses ライブラリを取得できません。
libncurses5-dev をインストールするために提案された解決策に従いますが、問題はまだ存在します。libncurses5 は私の Linux に実際に存在します。
私が見逃したものを助けて指摘してください。どうもありがとうございました