Solaris 模块调试器指南

mdb_readstr()

ssize_t mdb_readstr(char *s, size_t nbytes, uintptr_t addr);

mdb_readstr() 函数将从目标虚拟地址 addr 开始、以空字符结尾的 C 字符串读入由 s 寻址的缓冲区。该缓冲区的大小由 nbytes 指定。如果字符串过长而无法放在缓冲区中,则会将字符串截断到缓冲区大小,并在 s[nbytes - 1] 处存储空字节。成功时将返回在 s 中存储的字符串长度(不包括结尾的空字节);否则返回 -1 以指示出现了错误。