2012-04-10 3 views
1

В моей .NET приложении есть окно, которое вы можете ввести код в (скрипты, язык C#. Они проходят через отражение)Как прикрепить отладчик к сценарию

мне нужна возможность отладку скриптов в скомпилированном приложении как в Visual Studio. Можно ли использовать MS Debugger или любой другой для этого? И как, если да?

Редактировать: Можно ли обойтись без Visual Studio?

Ну, в общем, это так: Пользователь вводит код, нажимает «Запустить». Sсript строится в .dll. И затем он проходит через отражение (скорее через methodInfo.Invoke()).

+0

Обратите внимание, что в .NET 4 (исправлено в .NET 4.5) есть ошибка, которая предотвращает переоценку контрольных точек при повторном запуске одного и того же кода (но, конечно, в новой сборке в памяти). https://connect.microsoft.com/VisualStudio/feedback/details/684089/debugger-fails-to-re-evaluate-breakpoints-when-new-code-is-executed-in-a-transient-assembly – leppie

ответ

0

Запустите приложение, затем в Visual Studio выберите «Отладка»> «Присоединить к процессу» и выберите свой процесс. Это, безусловно, позволит вам отлаживать предварительно скомпилированные части вашего приложения. Что касается отладки введенных пользователем скриптов ... Я полагаю, это зависит от того, как вы их используете.

Редактировать: перечитывая свой вопрос, я думаю, вы спрашиваете, можно ли отладить код пользователя с помощью вашего приложения, не используя Visual Studio. Если это так, я не уверен, что это возможно. Мне кажется, что это очень сложно, но это зависит от того, как именно вы используете код пользователя. Более подробная информация поможет.

0

Используйте System.Diagnostics.Debugger.Break(), чтобы остановить запуск и откройте отладчик. Или System.Diagnostics.Debugger.Launch() для запуска и прикрепления отладчика к процессу.

Смежные вопросы