У меня есть сторонняя C / C ++ DLL, которую я вызываю с помощью DllImport
:
internal static class wrapper {
[DllImport("vendor.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int execute_action(int a, int b);
[DllImport("vendor.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int free_memory();
}
У меня есть подозрение, что метод «свободной памяти», который я вызываю, на самом деле не высвобождает всю память, к которой он обращался, но, возможно, это просто измерение, которое неверно, когда память снова доступна процессу, а не ОС.
Могу ли я проверить, что неуправляемая часть моего процесса хранится в памяти? Я пробовал ANTS Memory Profiler, но, конечно, я могу проверять только управляемую память ...