Тестирование, если код выполняется в режиме отладки

Как я могу проверить, что код выполняется в режиме отладки.

Вот что я хотел бы сделать в псевдокоде

if not debugMode then
  Do something()
end if

Ответ 1

Вы можете использовать Debugger.IsAttached, чтобы определить, отлаживается ли программа.

If Not Debugger.IsAttached Then
  DoSomething()
End If

EDIT Если вы всегда хотите пропустить код DoSomething в сборке отладки, независимо от того, используется ли отладчик или нет, используйте условная компиляция с # Если, что-то вроде этого

#IF DEBUG Then
  DoSomething()
#End If

Ответ 2

Что вы имеете в виду в режиме отладки? Если вы ссылаетесь на сборку отладки, вы можете использовать #if DEBUG для проверки на это:

#if DEBUG
    // this is included in a debug build
#else
    // this is not included in a debug build
#endif

Ответ 3

вы можете использовать функцию IsDebuggerPresent

<DllImport("kernel32.dll", CharSet:=CharSet.Auto, ExactSpelling:=True)> _
Public Shared Function IsDebuggerPresent() As Boolean
End Function

if not isDebuggerPresent() then
Do something()
end if