Click or drag to resize

Отладка DLL кубика с помощью Visual Studio

В Visual Studio существует механизм присоединение к выполняемым процессам с использованием отладчика Visual Studio. Наиболее подробно об отладчике Visual Studio написано в документации . Далее отладка будет рассмотрена на примере кубика созданного пункте Создание DLL кубика в Visual Studio.

1. Для того чтобы присоединить к процессу и начать отладку DLL кубика необходимо чтобы он был загружен в память, загрузка DLL в память происходит после выбора имени стратегии в поле Имя типа стратегии. После загрузки DLL в память можно будет присоединить к процессу.

Designer Creating a DLL cube in Visual Studio 03

2. В Visual Studio выберите пункт Отладка> Присоединить к процессу.

Designer Debugging DLL cube using Visual Studio 00

3. В диалоговом окне Присоединение к процессу найдите процесс Designer.exe, к которому требуется присоединиться, в списке Доступные процессы.

Designer Debugging DLL cube using Visual Studio 01

Если процесс выполняется с другой учетной записи пользователя, установите флажок Показать процессы всех пользователей.

4. Убедитесь, что в окне Присоединиться к указан тип кода, который необходимо отладить. Параметр по умолчанию Авто пытается определить тип кода, который нужно отладить, но не всегда правильно определяет тип кода. Чтобы вручную задать тип кода, выполните следующие действия.

  • В поле Присоединиться к щелкните Выбрать.

  • В диалоговом окне Выбор типа кода нажмите кнопку Выполнять отладку кода следующих типов и выберите типы для отладки.

  • Нажмите кнопку ОК.

Designer Debugging DLL cube using Visual Studio 02

5. Нажмите кнопку Присоединить.

6. В Visual Studio в коде необходимо расставить точки останова. Если точки останова красные и заполненные красным Designer Debugging DLL cube using Visual Studio 03 (и студия в режиме отладки) то значит загрузилась именно та версия dll, а если точки останова красные и заполненные белым Designer Debugging DLL cube using Visual Studio 04 (и студия в режиме отладки) то значит загрузилась не та версия dll.

7. В примере точка останова стоит в первой строчке метода public void ProcessCandle(Candle candle). При запуске стратегии в S#.Designer, как только в DLL кубик начнут передаваться значения свечей в Visual Studio произойдет остановка в месте установки точки останова, далее можно будет отследить ход выполнения кода.

Designer Debugging DLL cube using Visual Studio 05
See Also