2015-10-15 9 views
0

Я работал над кодами, чтобы безопасно и эффективно распоряжаться неуправляемыми объектами в C#. Это объект Bitmap, созданный с изображением. Мне нравится отслеживать дескриптор, чтобы узнать статус изображения в памяти до и после вызова Dispose(). Есть ли хороший способ выяснить, если дескриптор все еще указывает на действительный объект после вызова Dispose()?Как узнать, находится ли объект, указывающий на дескриптор, уже на C#?

+0

Значит, это неуправляемый дескриптор объекта? вы хотите отслеживать его через код? –

+0

Нет, не используйте оракул. Это ваш код, который вызывает Dispose(), поэтому вы в принципе не можете знать, что он был удален. Используйте переменную * bool * для отслеживания. –

ответ

0

Вы можете использовать Process Explorer для отслеживания объектов, используемых вашим процессом. Если ваш процесс правильно закрывает дескриптор, вы можете увидеть через проводник процессов, что процесс больше не содержит дескриптор объекта.

+0

Спасибо. Звучит хорошо. Является ли это платформой третьей части. К сожалению, компьютер компании не допустит какой-либо не утвержденной или несанкционированной установки ... Есть ли встроенные функции? – Eric

+0

Этот инструмент от Microsoft. Я не уверен, есть ли встроенная функция для этого. Я думаю, что под капотом Process Explorer устанавливает драйвер, который позволяет ему делать то, что не может быть сделано в пользовательском режиме. –

+0

Process Explorer проверяет ядро ​​HANDLEs .... полностью не связанное с вопросом. –