Как узнать, был ли блок.NET скомпилирован с флагом TRACE или DEBUG

Perl system использует /bin/sh в качестве оболочки ( https://perldoc.perl.org/functions/system.html ). Он не будет понимать специфичный для bash синтаксис, такой как подстановка процессов.

Вы захотите явно вызвать bash:

system 'bash', '-c', q{source ~/.bash_profile; osascript -e 'quit app "Chromium"'};

Использование механизма одинарных кавычек q{}, чтобы избежать обратной косой черты.


Примечание для bash: если вы вызываете его как интерактивную оболочку, он автоматически выплескивается в bashrc, поэтому вы можете выполнить:

system 'bash', '-ic', q{osascript -e 'quit app "Chromium"'};

ref: https: //www.gnu.org/software/bash/manual/bashref.html#Bash-Startup-Files

10
задан Peter Mortensen 8 August 2012 в 08:46
поделиться

5 ответов

Прямая ссылка на инструмент IsDebug, наряду с инструкциями по использованию.

3
ответ дан 3 December 2019 в 21:23
поделиться

Единственный лучший способ сделать это - проверить сами скомпилированные сборки. Существует этот очень полезный инструмент под названием «Информация о сборке .NET», найденный здесь Ротемом Блумом. После того, как вы установите этот файл, он будет открывать файлы .dll самостоятельно. После установки вы можете просто дважды щелкнуть по сборке, чтобы открыть ее, и она предоставит вам детали сборки, как показано на скриншоте ниже. Там вы можете определить, если это отладка скомпилировано или нет.

альтернативный текст http://ruchitsurati.net/myfiles/asm_info.jpg

alt text
(source: ruchitsurati.net )

LinkText: http: // www.codeplex.com/AssemblyInformation

6
ответ дан 3 December 2019 в 21:23
поделиться
static bool IsDebug(){
 bool rv = false;
 #if DEBUG
 rv = true;
 #endif
 return rv;
}
2
ответ дан 3 December 2019 в 21:23
поделиться

Нет, вероятно, никакого универсального пути. Однако Вы могли искать ссылки на Assert и Debug от System.Diagnostics пространство имен. Присутствие тех укажет, что флаг DEBUG был установлен.

То же содержит для Trace и флаг TRACE.

Очевидно, это не будет работать, если исходный код не будет использовать типы от этих пространств имен.

1
ответ дан 3 December 2019 в 21:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: