Handbuch zur dynamischen Ablaufverfolgung in Solaris

copyin()

void *copyin(uintptr_t Adr, size_t Groesse)

copyin() kopiert die angegebene Größe in Byte von der angegebenen Benutzeradresse in einen Scratch-Puffer von DTrace und gibt die Adresse dieses Puffers zurück. Die Benutzeradresse wird als eine Adresse im Bereich des Prozesses interpretiert, zu dem der aktuelle Thread gehört. Der zurückgegebene Zeiger auf den Puffer hat immer eine 8-Byte-Ausrichtung. Die betreffende Adresse muss auf eine durch Seitenfehler eingelagerte Seite im aktuellen Prozess zutreffen. Ist dies nicht der Fall oder ist nur unzureichender Scratch-Platz verfügbar, wird NULL zurückgegeben und ein Fehler generiert. Informationen zu Verfahren, mit denen das Auftreten von copyin-Fehlern vermindert wird, finden Sie in Kapitel 33Ablaufverfolgung von Benutzerprozessen.