適用範囲:DS-5
現象
"WARNING(LUX6): Unable to find library on host"は何を意味しますか。
原因
gdbserver接続時に、デバッガがホスト上でライブラリを見つけられない場合にワーニングが発生します。例:
WARNING(LUX6): Unable to find library on host "/lib/libdl.so.2"
これはデバッグ中のアプリケーションが共有ライブラリをロードしたが、この共有ライブラリに対するシンボル情報がデバッガにロードされていないことをデバッガが検知したことを意味します。
解決策
共有ライブラリのソースレベルデバッグを行いたい場合、関連するデバッグシンボルがデバッガにロードされている必要があります。共有ライブラリを含むホストコンピュータ上のフォルダに対するサーチパスを set solib-search-path コマンドを使ってシンボルをロードすることができます。例:
set solib-search-path "C:myLibraries"
サーチパスの設定後、共有ライブラリに対するデバッグシンボルをロードするために、sharedlibraryコマンドを使うことができます。
接続時に毎回この手順を自動的に実行するには、スクリプトファイルにコマンドを書き、Eclipse上のlauncherパネルからRun Scriptオプションを使用します。
デバッグの必要のないライブラリのシンボルのロードはパフォーマンスの低下とデバッガのメモリ消費を増加させます。共有ライブラリにおけるソースレベルデバッグが必要ない場合は、シンボルのロードを行うよりもこのワーニングを無視することをお勧めします。