Вивід значеннь змінних в вікно Output без модифікації коду

Я часто помічаю, що багато розробників, які використовують Microsoft Visual Studio часто працюють з нею, але не використовують по максимуму всі її можливості. Звичайно, я так само не знаю всі можливості цього потужного середовища, але вам зараз покажу одну досить простеньку і в той самий момент дуже корисну функціональність.

vs2010

Часто, коли ми хочемо знайти помилки під час виконання програми ми входимо в режим Debug, в якому пробуємо відслідковувати хід програми і навіть міняти. Основний випадок – ми ставимо точку зупину на певній лінійці коду і починаємо процес відслідковування коли програма знаходиться в цьому місці. Цей підхід не завжди буде працювати, а саме у випадках, коли код, який ви хочете відслідкувати виконується дуже швидко.

Один зі способів відслідкувати значення певних змінних в такому коді – це виводити ці значення у вікно Output в середовищі Microsoft Visual Studio:

1 static void Main(string[] args) 2 { 3 int someVariable = 1; 4 Random random = new Random(); 5 int maxRandomValue = 1000; 6 for (int i = 0; i < 100; i++) 7 { 8 someVariable += random.Next(maxRandomValue); 9 Debug.WriteLine("Value is: {0}",someVariable); 10 } 11 } 12

В цьому коді я запускаю ітерацію на 100 разів, де в кожні з них я додаю випадкове число до змінної someVariable. В кінці кожної ітерації я беру і виводжу це число в вікно Output за допомогою методу WriteLine класу Debug. В результаті, в вікні Output будуть приблизно такі значення:

clip_image002

Рис 1.1

В цього підходу є один недолік – потрібно модифікувати код. Є простіший спосіб Smile.

Видаліть рядок звернення до методу WriteLine та натисніть праву кнопку на точку зупину (Breakpoint). В цьому меню виберіть такий пункт як When Hit.. :

clip_image004

Рис 1.2

З’явиться таке вікно, в якому можна вказати дії, які будуть виконуватись при спрацюванні цієї точки зупину. В цьому вікні введіть такі значення:

clip_image006

Рис 1.3

З скріншоту видно, що текстовому полі було введено таке значення: Variable value: {someVariable}, де {someVariable} значення змінної. Тепер знову запустіть проект і гляньте в вікно Output:

clip_image007

Рис 1.4

Ось таким простим чином, можна виводити значення змінних без потреби в модифікації коду.

Advertisements

, ,

  1. #1 by Developer on April 9, 2012 - 01:10

    Especially it is usefull when you need to debug threads or callbacks. During time for watching values from Watch/Locals sometimes can happen not actual already values.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: