Несмотря на то, что NSIS позволяет создавать довольно мощные инсталляторы, "такой язык низкого уровня, который напоминает мне об сборе", который использует NSIS, довольно подвержен ошибкам, и поэтому, когда вы хотите, чтобы ваш установщик делал что-то более сложное, кроме писать файлы, отладка обязательна.
До сих пор я использовал следующую технику отладки Dr Printf:
- В файле
.nsh
, который я использую везде, я определяю макросNSIS_DEBUG_MSG
в соответствии со значением aDEBUG
define- Если
DEBUG
включен, макрос будет вызывать MessageBox с отладочным сообщением - Если
DEBUG
выключено, макрос ничего не сделает
- Если
Этот метод послужил мне хорошо, но он имеет некоторые недостатки:
- мне нужно заполнить код, который, по моему мнению, тот, который не отвечает вызовам
NSIS_DEBUG_MSG
, и несколько раз переустанавливать установщик, пока я не получу достаточную информацию, чтобы разрешить мне проблему. - это не принесет мне пользы, если моя проблема в том, что сам установщик не работает (если программа установки умирает)
Так что я хотел знать, какие методы отладки вы используете для этих установщиков, так что, надеюсь, я смогу улучшить свою работу.