私のJavaコードは、JNI経由で共有ライブラリ(libtest.soなど)のC++コードを呼び出します。このコードには、libdebug.soという特別なデバッグシンボルが組み込まれています。私はJNIコードのLD_PRELOAD変数
LD_PRELOAD =は/ usr/libdebug.so/libのJavaのcom.test.myMain
を呼び出すと実行が(ロードされていないlibdebug.soからシンボルのでException in thread "main" java.lang.UnsatisfiedLinkError
で停止しますなぜ?)。
私のコードを変更して、自分のJavaコード内のライブラリをPRELOADすることが可能かどうかは疑問でした。 (もちろん私はlibdebug.soでjavaをコンパイルしたくないです...)
複数のライブラリをロードするにはどうすればよいですか?私は1つのコマンドでそれを行うことはできますか、または複数のコマンドが必要ですか? – cateof
AFAIKの 'load'を複数回呼び出す必要があります。 – Neet