Как определить, работает ли код (VB) внутри Visual Studio? - PullRequest
0 голосов
/ 02 сентября 2010

Я использую VB Express 2008. Я знаю, как определить, был ли код встроен в debug more или release, но теперь я хотел бы знать, как определить, работает ли он в Visual Studio IDE или нет (так что я может добавить некоторые отладочные MsgBox () и не беспокоиться о том, что они будут отображаться, если я случайно отправлю отладочную версию).

Ответы [ 4 ]

1 голос
/ 06 июня 2014

Если вы хотите, чтобы вы никогда не показывали отладочные сообщения пользователям, вы можете использовать Debug.Write() и Debug.WriteLine(). Эти команды выведут текст, введенный в окно вывода отладки. Обратите внимание, что вы можете атаковать окно вывода отладки для программы, выполняющей производственный код на компьютере клиента, без установки среды разработки!

Проверка подключенного отладчика не указывает на то, что отладчик также находится внутри IDE. Во многих средах довольно часто подключают отладчики к производственному коду, работающему в системе клиента, чтобы определить, что происходит неправильно при установке и использовании конкретного клиента. Тестирование на отладчик, а затем предположим, что вы находитесь в IDE, не допустит этого использования отладчиков в производственной среде.

1 голос
/ 02 сентября 2010

Является ли System.Diagnostics.Debugger.IsAttached тем, что вы ищете?

1 голос
/ 02 сентября 2010

Попробуйте проверить IsAttached свойство System.Diagnostics.Debugger

1 голос
/ 02 сентября 2010

Если вы создаете для Test и Prod, рассмотрите возможность использования директивы препроцессора в вашем коде.

#If DEBUG Then
    MsgBox("Foo")
#End If

Конечно, это падает, если вы отправляете отладочный двоичный файл в среду, отличную от dev. Я понимаю, что это атака на проблему с другой стороны, с которой вы задали вопрос (IDE).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...