Qt Creator 2.7.1 と Qt 4.8.4 を使用して、Qt ライブラリと、このライブラリに対して動的にリンクする簡単な Qt アプリを作成しました。アプリをリモートでデプロイしてデバッグし、呼び出し時にライブラリ関数にステップインしようとしています。ブレークポイントを設定してリモートでデバッグすることはできますが、デバッガー ( gdb ) を使用してライブラリ関数にステップ インすることはできません。デバッグ モードで QtCreator を使用して初めてアプリケーションをリモートで起動すると、次の警告が表示されます。
Could not load shared library symbols for 7 libraries, e.g. libcustom-stuff.so.1.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?
私のデバッガーは、これらの画像に示すように QtCreator を使用してセットアップされています (画像 #3 で「ターゲット パス」と「パス」の両方を切り替えましたが、役に立たなかったことに注意してください。
私の「キット」は次のように設定されています:
Qt Creator 内の「Debugger Log」に「コマンド」を入力しました。
info sharedlibrary
私が応答を得たのは:
>~"From To Syms Read Shared Object Library\n"
>~"0x400007e0 0x40011bf0 Yes /home/user/proj/output/buildroot/host/usr/arm-buildroot-linux-gnueabi/sysroot/lib/ld-linux.so.3\n"
>~" No libcustom-stuff.so.1\n"
>~"0x4006d018 0x400d7124 Yes /home/user/proj/output/buildroot/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libQtDBus.so.4\n"
>~"0x401065c4 0x4013dd18 Yes /home/user/proj/output/buildroot/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libQtXml.so.4\n"
>~"0x40172430 0x4024c1b4 Yes /home/user/proj/output/buildroot/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libQtNetwork.so.4\n"
また、ライブラリとアプリの両方が次のもので構築されていることも確認しました。
CONFIG+=declarative_debug
ライブラリとアプリの両方の [コンパイル出力] ペインに、「-g」フラグが表示されます。
どちらもファイルシステムの同じディレクトリにあるので、何が起こっているのでしょう! アプリでブレークポイントをデバッグおよび設定できますが、ライブラリ呼び出しにステップインできないのはなぜですか? どんなアイデアでも大歓迎です。
アップデート:
kikeenrique の提案に従って、Ubuntu ホスト (ARM ターゲットではない) からデバッグ シンボルをロードしようとしました。
GNU gdb (Ubuntu/Linaro 7.4-0~69~lucid1) 7.4
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Welcome to Fluke GDB Init Script for QtCreator
Reading symbols from /home/user/proj/output/exported-nfs/home/user/libcustom-stuff.so.1.0.0...done.
(gdb)
GDBは少なくともシンボルをロードできるようです..