Отладка

Техники и лучшие практики для отладки плагинов и обработки ошибок в процессе разработки вашего языкового модуля.

Отладка C# плагинов в смешанном режиме позволяет вам одновременно отлаживать как управляемый (.NET), так и неуправляемый (нативный) код. Это особенно полезно при работе с языковым модулем C# от Plugify, поскольку это включает взаимодействия между управляемыми и нативными компонентами. Это руководство предоставляет обзор отладки в смешанном режиме и направляет вас к внешним ресурсам для получения подробных инструкций.

Предварительные требования

Перед отладкой ваших C# плагинов в смешанном режиме убедитесь, что у вас есть следующее:

  • Visual Studio (2022 или новее) с установленной рабочей нагрузкой «.NET desktop development».
  • Основная библиотека Plugify (собрана и доступна).
  • Языковой модуль C# (plugify-module-dotnet) установлен и настроен.
  • Скомпилированный C# плагин для отладки.

Отладка C# плагинов в смешанном режиме

Отладка в смешанном режиме позволяет вам одновременно отлаживать как управляемый C# код, так и нативное ядро Plugify. Ниже приведены общие шаги для отладки C# плагинов в смешанном режиме:

Настройте вашу среду разработки

  • Убедитесь, что ваш проект плагина C# настроен для отладки (например, собран в режиме Debug).
  • Откройте ваш проект плагина в Visual Studio.

Включите отладку в смешанном режиме

  1. Щелкните правой кнопкой мыши по вашему проекту плагина C# в Solution Explorer (Обозревателе решений) и выберите Properties (Свойства).
  2. Перейдите на вкладку Debug (Отладка).
  3. В разделе Debuggers (Отладчики) установите флажок Enable native code debugging (Включить отладку нативного кода).

Присоедините отладчик к Plugify

  1. Запустите Plugify с загруженным вашим C# плагином.
  2. В Visual Studio перейдите в Debug > Attach to Process (Отладка > Присоединиться к процессу).
  3. Найдите процесс Plugify в списке и нажмите Attach (Присоединить).

Установите точки останова

  • Откройте исходные файлы вашего C# плагина в Visual Studio.
  • Установите точки останова в вашем коде, щелкая на левом поле рядом с номерами строк.

Отладьте ваш плагин

  • Активируйте функциональность в вашем плагине, которую вы хотите отладить.
  • Отладчик приостановит выполнение на ваших точках останова, позволяя вам проверять переменные, пошагово выполнять код и анализировать стек вызовов.

Подробное руководство по отладке

Для исчерпывающего пошагового руководства по отладке в смешанном режиме обратитесь к официальной документации Microsoft:

Распространенные сценарии отладки

1. Сбои плагина

  • Проверьте логи Plugify на наличие сообщений об ошибках.
  • Используйте отладчик для определения точной строки кода, вызывающей сбой.
  • Проверяйте переменные и память для диагностики проблемы.

2. Плагин не загружается

  • Убедитесь, что плагин скомпилирован правильно и размещен в правильном каталоге.
  • Проверьте наличие отсутствующих зависимостей или несовместимых версий.
  • Используйте отладчик для пошагового выполнения кода инициализации плагина.

3. Неожиданное поведение

  • Установите точки останова в соответствующих функциях для отслеживания потока выполнения.
  • Проверяйте значения переменных для выявления расхождений.
  • Используйте условные точки останова для отладки конкретных сценариев.

Продвинутые советы по отладке

1. Используйте логирование

  • Добавляйте операторы логирования в код вашего плагина для отслеживания потока выполнения и значений переменных.
  • Используйте встроенную систему логирования Plugify для вывода сообщений в консоль или файлы логов.

2. Отладка нативного кода

  • Используйте Disassembly Window (Окно дизассемблирования) в Visual Studio для проверки нативного кода.
  • Устанавливайте точки останова в нативном коде для отладки взаимодействий между управляемыми и неуправляемыми компонентами.

3. Отладка многопоточного кода

  • Используйте Threads Window (Окно потоков) в Visual Studio для мониторинга и отладки нескольких потоков.
  • Будьте осторожны с состояниями гонки и взаимоблокировками.

Устранение неполадок

1. Отладчик не присоединяется

  • Убедитесь, что Plugify запущен и плагин загружен.
  • Убедитесь, что плагин собран в режиме Debug.

2. Точки останова не срабатывают

  • Убедитесь, что код плагина соответствует скомпилированному бинарному файлу.
  • Пересоберите плагин и перезапустите Plugify.

3. Сбои отладчика

  • Обновите Visual Studio до последней версии.
  • Убедитесь, что все зависимости совместимы с вашей средой разработки.

Для более продвинутых техник и инструментов отладки обратитесь к документации отладчика Visual Studio.