У меня есть управляемая dll, которая вызывает родную библиотеку. Эта нативная библиотека обычно возвращает IntPtrs. Они могут быть переданы другим методам в нативной библиотеке для выполнения каких-либо действий или для указания библиотеке освободить экземпляр, связанный с IntPtr. Но только некоторые экземпляры должны быть освобождены таким образом, другие управляются библиотекой. Проблема в том, что в документации не всегда ясно, какие экземпляры должны быть освобождены, а какие нет.
Что я хочу знать, так это то, есть ли способ узнать, сохранил ли мой код ссылки на какие-либо указатели, которые должны быть освобождены, и вызывает ли утечка памяти?