Отладка верификатора программного обеспечения, написанного на sbt, на Intellij Idea

Я работаю с Stainless, средством проверки программ Scala. Я хотел бы отладить процесс проверки примера программы на Intellij Idea. В предыдущем посте я решил эту проблему интеграции для интерактивного средства доказательства теорем. Но сейчас я столкнулся с двумя проблемами:

  1. По-видимому, программное обеспечение для проверки запускается во время компиляции. То есть я вхожу в консоль sbt и запускаю команду компиляции и дальше процесс проверки вроде бы проходит. Вы можете попробовать это на этом проверенном примере. Эта ситуация для меня новая, так как я использовал для отладки программы во время выполнения.

  2. Все настройки в файлах sbt примера выше (см., например, этот файл), по-видимому, относятся к онлайн-контенту, в то время как я хочу убедиться, что работаю с моей локальной копией, разветвленной из исходного репозитория верификатора.

Ни одна из конфигураций, которые я пробовал, не работала. Можете ли вы помочь мне решить эту проблему?

Подробнее

Это текущая страница конфигурации из нержавеющей.


person Rodrigo    schedule 06.07.2018    source источник
comment
обратите внимание, что версия sbt должна быть 0.13. не 1.   -  person Rodrigo    schedule 07.07.2018


Ответы (1)


Если проверка выполняется внутри процесса sbt, вы можете отладить его, подключив отладчик к sbt. IntelliJ упрощает это благодаря встроенной оболочке sbt:

включить отладку оболочки sbt

  1. открыть окно инструментов оболочки sbt
  2. нажмите кнопку «прикрепить отладчик к оболочке sbt» слева
  3. установить точки останова в коде
  4. запустить задачу
person Justin Kaeser    schedule 17.07.2018
comment
Вы тестировали это с реальной библиотекой? Я сделал шаги, которые вы указали, но на самом деле не работает. В частности: используя плагин, я думаю, что не устанавливаю точку останова в нужном месте (не знаю, где находится источник затыка), если я использую скрипт, сгенерированный после компиляции с помощью sbt, который является файлом нержавеющего scalac, он дает ошибку: ... [ошибка] Неверный ключ: нержавеющая сталь-скалак (аналог: нержавеющая версия) [ошибка] нержавеющая сталь-скалак ./src/main/scala/*.scala [ошибка] ^ - person Rodrigo; 17.07.2018