The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

Отладка проблем связанных с подсчётом ссылок

Схема подсчёта ссылок используемая в GObject действительно решает многие проблемы управления памятью, но также добавляет новые ошибки в исходный код. В большинстве приложений, найти точно где счётчик ссылок Object может быть обработан не правильно, очень сложно. Хотелось бы надеяться что существующий инструмент с именем refdbg/ может использоваться для автоматического отслеживания недопустимого кода имеющего отношение к подсчёту ссылок. Это приложение перехватывает вызовы подсчёта ссылок и пытается обнаружить недопустимое поведение. Она поддерживает механизм фильтрации правил позволяя вам отслеживать только интересующие вас объекты и может использоваться совместно с gdb.

Помните что если GObject скомпилирован с параметром --enable-debug=yes, это экспортирует переменную прерывания программы в случае ошибки

static volatile GObject *g_trap_object_ref;
    

Если установлено в не-NULL значение, g_object_ref() и g_object_unref() будут перехвачены когда получат вызов с таким значением.



Закладки на сайте
Проследить за страницей
Created 1996-2019 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру
Hosting by Ihor