Автор: Sergey Teplyakov

В отладчике Visual Studio 2005/2008 при работе с языком программирования C# появилась новая замечательная возможность: создание идентификатора объекта. Если в одном из окон семейства Watch (имеются ввиду окна Locals, Autos, Quick Watch, Watch1-5, DataTips) нажать правую кнопку, то в контекстном меню будет присутствовать один интересный пункт: Make Object ID - создание идентификатора объекта.

При создании идентификатора объекта, создается идентификатор, который отображается в столбце Value окна Watch. После создания идентификатора, вы можете добавить новое значение в таблицу Watch с именем '#1', '#2', ... '#n'.

Идентификатор объекта позволяет управляемому отладчику следить за объектом в любом месте кучи, независимо от контекста. Таким образом, если вам необходимо наблюдать локальную переменную из метода на двадцать элементов выше стека, создайте идентификатор объекта для этого объекта, и вы будете видеть реальное значение переменной независимо от того, где вы находитесь. Можно также создать идентификатор объекта для объекта в других потоках. Более того, вы увидите этот объект не зависимо от того, в каком поколении сборщика мусора он находится, а если он будет собран сборщиком мусора, то представление для этого идентификатора объекта станет недоступным. К сожалению нельзя добавить никакой дополнительной информации к идентификатору объекта и придется помнить, что означает порядковый номер каждого идентификатора, но т.к. слишком большое количество подобных объектов едва ли понадобиться, то и слишком большой проблемой это не будет.

Помогла статья? Оцените её!
0 из 5. Общее количество голосов - 0
 

You have no rights to post comments

Дмитрий Крикунов

Публикую статьи, обучающие курсы и новости по программированию: алгоритмам, языкам (С++, Java), параллельному программированию, паттернам и библиотекам (Qt, boost).