Singkatnya, kesalahan ditampilkan ketika mencoba untuk melacak proses yang meminta untuk tidak dilacak.
Kesalahan tidak secara teknis disebabkan oleh iTunes, tetapi oleh proses yang telah menonaktifkan penelusuran, menggunakan kode seperti berikut ini.
ptrace(PT_DENY_ATTACH, 0, 0, 0);
Kode ini menetapkan tanda pada proses di tingkat kernel, yang mencegah proses debug dan penelusuran proses.
Aplikasi paling terkenal yang melakukan hal ini adalah iTunes, aplikasi yang mungkin diciptakan DRM untuk API ini, tetapi API tersedia untuk proses lain. Saya telah melihat sejumlah aplikasi pihak ke-3 menggunakan API ini.
Tentu saja, seperti semua DRM itu bisa rusak. Opsi untuk mem-bypass fitur anti-tracing dan anti-debugging ini mulai dari menggunakan debugger untuk melewatkan panggilan API ke ekstensi kernel yang menambal fitur ini di ruang kernel.