0

Windows には、実行可能ファイルで使用されるすべてのシンボルと、それらがロードされる動的ライブラリを一覧表示する、気の利いたツールであるDependency Walkerがあります。これは、不足しているシンボルと DLL を知るのに非常に役立ちます。

*nix/Solaris 用の同様のユーティリティはありますか。ldd と nm の組み合わせでこれを見つけることができますが、単一のツールが便利です。

4

1 に答える 1

0

dbx で pid にアタッチし、funcsコマンドを使用してロードされたシンボルを一覧表示します。

$ dbx "-c funcs; quit "  /usr/bin/bash 4837

Reading bash
Reading ld.so.1
Reading libcurses.so.1
Reading libsocket.so.1
Reading libnsl.so.1
Reading libdl.so.1
Reading libc.so.1
Attached to process 4837
stopped in _waitid at 0xfee0af95
0xfee0af95: _waitid+0x0015:     jae      _waitid+0x21   [ 0xfee0afa1, .+0xc ]
`bash`_start
`bash`_mcount
`bash`__fsr
`bash`main
`bash`exit_shell
`bash`sh_exit
...
`libnsl.so.1`nis_sperror
`libnsl.so.1`nis_lerror
`libnsl.so.1`__nis_group_cache_stats
...
`libc.so.1`mmap64
`libc.so.1`_mmap64
`libc.so.1`_init
`libc.so.1`_fini
detaching from process 4837
于 2012-08-28T09:21:17.510 に答える