uaddr
指定したアドレスのシンボルを出力します。
_usymaddr uaddr(uintptr_t)
uaddr
関数は、ustack
が提供するものと同じシンボル解決を可能にする、16進オフセットを含む、指定されたアドレスのシンボルを出力します。
例7-60 uaddrを使用してアドレスのシンボルを取得する方法
この例では、uaddr
関数を使用して、dateコマンドの実行時に、各openat
システム・コールのシンボルを戻す方法を示します。この節は、プロセスIDがターゲット・プロセスと一致するかどうかを確認することを前提としています。組込みのucaller
変数は、プローブの起動時にスレッドの場所へのポインタを取得するために使用されます。sudo dtrace -n syscall::openat:entry'/pid == $target/{usym(ucaller);}' -c 'date'
次のような出力が生成されます:
CPU ID FUNCTION:NAME
5 147861 openat:entry libc.so.6`_nl_find_locale
5 147861 openat:entry 0x0
Mon 20 Feb 18:11:30 GMT 2023