Solaris и GNU / Linux поддерживают интерфейс LD_AUDIT
в своих динамических компоновщиках.Вам необходимо загрузить модуль аудитора, который реализует функцию обратного вызова la_objclose
:
Реализация может быть простойкак это:
unsigned int
la_objclose (uintptr_t *cookie)
{
printf ("objclose\n");
return 0;
}
Чтобы определить, какой объект закрывается, вам также необходимо реализовать la_objsearch
(и, возможно, la_objopen
), чтобы установить значение cookie, которое каким-то образом ссылается на информацию, которую вынужно в ближайшее время (например, вы можете сохранить указатель на выделенную кучу структуру в cookie).