Linux のロード vmlinux デバッグ

Linux のロード vmlinux デバッグ

gdb を使用してカーネル シンボルをロードする

arm-eabi-gdb 出力/ターゲット/製品/msm8625/obj/KERNEL_OBJ/vmlinux

カーネルの.configでDEBUG_INFOとDEBUG_VMをオンにします

障害コードの検索

(gdb) l * qrd7627a_add_io_devices+0x100
0xc07cd05c は qrd7627a_add_io_devices (/home/yejialong/GH700C/kernel/arch/arm/mach-msm/msm8x25/goso-msm7627a-io.c:1851) にあります。
1846 } そうでない場合 (machine_is_msm8625q_skud() || machine_is_msm8625q_evbd()) {
1847 #ifndef CONFIG_CALA02
1848 プラットフォームデバイスレジスタ(&pmic_mpp_leds_pdev_skud);
1849 #endif
1850 /* gpio led ドライバーで skud フラッシュとトーチを有効にする */
1851 プラットフォームデバイスレジスタ(&gpio_flash_skud);
1852 } そうでない場合 (machine_is_msm8625q_skue()) {
1853 /* gpio led ドライバーで skue フラッシュライトを有効にする */
1854 プラットフォームデバイスレジスタ(&gpio_flash_skue);
1855 }

以下は mtk プラットフォームをロードする方法ですが、どのプラットフォームでも同様であり、原理は同じです。

weiqifa@weiqifa-Inspiron-3847:~/weiqifa/tm100$ ./prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin/arm-eabi-gdb ./out/target/product/tm100/obj/KERNEL_OBJ/vmlinux
GNU gdb (GDB) 7.3.1-gg2
著作権 (C) 2011 フリーソフトウェア財団、Inc.
ライセンス GPLv3+: GNU GPL バージョン 3 以降 <http://gnu.org/licenses/gpl.html>
これはフリーソフトウェアです。自由に変更および再配布できます。
法律で認められる範囲において、保証はありません。「コピーを表示」と入力してください
詳細については「保証書の表示」をご覧ください。
この GDB は "--host=x86_64-linux-gnu --target=arm-linux-android" として構成されました。
バグ報告の手順については、以下を参照してください。
<http://source.android.com/source/report-bugs.html>...
/home/weiqifa/weiqifa/tm100/out/target/product/tm100/obj/KERNEL_OBJ/vmlinux からシンボルを読み込んでいます...完了しました。
(グッ)

rockchip rk3399 デバッグ vmlinux

./prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-addr2line -f -e kernel/vmlinux
weiqifa@dev:~/rk3399_7in1$ ./prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-addr2line -f -e kernel/vmlinux ffffff8008459f3c
rk_iommu_ドメイン_無料
/data/weiqifa/rk3399_7in1/kernel/drivers/iommu/rockchip-iommu.c:1005 (識別子 2)
ウェイキファ@dev:~/rk3399_7in1$

RK プラットフォームのトゥームストーンデバッグ

./prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-addr2line -e ./out/target/product/rk3399_mid/symbols/system/lib/libspeexresampler.so 0x00002d54
/proc/self/cwd/external/speex/libspeex/resample.c:376

まず、arm-eabi-gdb コマンドを使用してこれを見つけ、次に vmlinux を探します。そして、arm-eabi-4.7/ バージョンを使用できます。これが私が試したことです。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • LinuxのバックグラウンドでPythonプログラムを実行するいくつかの方法
  • Linux シェルスクリプトの作成と実行
  • PythonはLinuxを操作するためにparamikoを使用する
  • Linuxターミナルでシェルスクリプトを実行して現在実行中のアプリのログを直接出力するAndroidの実装方法
  • pyqt を使用して Linux コマンド プログラムをリモートでバッチ実行する方法
  • Linux シェル環境での Zabbix API の使用
  • Linux で誤って削除したメッセージ ファイルを復元する方法
  • 一般的な Linux の問題に対する解決策の概要
  • Linuxカーネルマクロcontainer_ofの詳細な分析
  • Linux で履歴レコードを表示し、タイムスタンプを追加するためのヒント

<<:  WeChatアプレットでラッキーホイールゲームを実装する方法

>>:  mysql の存在する例と存在しない例の詳細な説明

推薦する

DockerでVueプロジェクトをデプロイする方法を教えます

1.前面に書きます:軽量仮想化テクノロジーとして、Docker には継続的インテグレーション、バージ...

Nginx gzip設定について

nginx がリソース圧縮を実現する原理は、ngx_http_gzip_module モジュールを介...

MySQL マルチバージョン同時実行制御メカニズム (MVCC) ソースコードの詳細な説明

目次1. はじめに2. MVCC (マルチバージョン同時実行制御メカニズム) 2.1 繰り返し読み取...

Vue3 でモバイル ログインおよび登録モジュールをエレガントに実装する方法

目次序文入力ボックスコンポーネントレイアウトvモデルデータ検証ルール設計形状サブコンポーネントは検証...

Windows での MySQL5 グリーン バージョンのインストールの概要 (推奨)

1 MySQLをダウンロードするダウンロードアドレス: http://downloads.mysq...

TypeScript 3.7 で注目すべき 3 つの新機能について簡単に説明します。

目次序文オプションの連鎖ヌル結合呼び出されていない関数のチェック他の序文TypeScript 3.7...

Vueはドラッグアンドドロップまたはクリックで写真をアップロードする機能を実装しています

この記事では、ドラッグアンドドロップやクリックによる画像のアップロードを実現するためのVueの具体的...

VMware 仮想マシンのネットワークの問題の解決方法

目次1. 問題の説明2. 問題解決1. 仮想マシンシステムのインストール時にネットワークがない場合2...

Linux ダイナミックライブラリの生成と使用ガイドの詳細な説明

Linux での動的ライブラリ ファイルのファイル名は libxxx.so のようになります。ここで...

MySQL 5.7.21 解凍バージョンのインストールと設定のグラフィックチュートリアル

この記事では、MySQL 5.7.21の解凍版をダウンロードしてインストールする詳細な手順を記録して...

Vue3 がコンポーネント通信に mitt を使用する手順

目次1. インストール2. プロジェクトにインポートしてマウントする3. 使用Vue2.x はコンポ...

dockerでデプロイされたjenkinsでgitプログラムを実行する際の問題について

1. まず、gitを関連付けるときにエラーメッセージが報告されます: エラー: ビルドするリビジョン...

MySQL のロックの仕組みと使用法の分析

この記事では、例を使用して MySQL のロック メカニズムと使用方法を説明します。ご参考までに、詳...

CSS スティッキー配置位置の詳細な説明: スティッキー問題の落とし穴

前書き: position:sticky は CSS ポジショニングの新しい属性です。相対ポジショニ...

MySQL/MariaDB で完全な Unicode をサポートする方法

目次utf8mb4 の紹介UTF8 バイト数超過エラーutf8mb4 サポートデフォルトの文字エンコ...