1

IntelliJでアプリケーションをデバッグしていますが、JVMがlibpngのバージョンについて文句を言います。

QSystemTrayIcon::setVisible: No Icon set
libpng warning: Application was compiled with png.h from libpng-1.4.0
libpng warning: Application  is  running with png.c from libpng-1.2.46
libpng error: Incompatible libpng version in application and library

Javaプログラムの実行中にどのlibpngファイル(つまり、ファイルへのフルパス)がロードされているかを確認したいと思います。どうやってやるの?

次の質問は次のようになります:libpngバージョン1.4.0がロードされることをどのように確認できますか(私のシステム上にありますが、明らかにlibpng 1.2.46が最初に見つかります)。

4

1 に答える 1

0

Unixでは、すべてのマッピングを確認できます。共有ライブラリがロードされている場合は、/proc/{pid}/mapsたとえば、

address           perms offset  dev   inode   pathname
08048000-08056000 r-xp 00000000 03:0c 64593   /usr/sbin/gpm
08056000-08058000 rw-p 0000d000 03:0c 64593   /usr/sbin/gpm
08058000-0805b000 rwxp 00000000 00:00 0
40000000-40013000 r-xp 00000000 03:0c 4165    /lib/ld-2.2.4.so
40013000-40015000 rw-p 00012000 03:0c 4165    /lib/ld-2.2.4.so
4001f000-40135000 r-xp 00000000 03:0c 45494   /lib/libc-2.2.4.so
40135000-4013e000 rw-p 00115000 03:0c 45494   /lib/libc-2.2.4.so
4013e000-40142000 rw-p 00000000 00:00 0
bffff000-c0000000 rwxp 00000000 00:00 0

http://linux.die.net/man/5/proc

于 2012-12-12T19:46:16.260 に答える