Как пройти трассировку стека из `polyc`?

Я использую компилятор PolyML 5.6 Release на Mac OS. Я компилирую и запускаю некоторый код, который вызывает исключение (Fail "undefined"). Я ожидаю, что мое скомпилированное приложение выйдет с трассировкой стека при возникновении исключения; но вместо этого он выходит молча.

Как я могу заставить PolyML показывать трассировки стека или, по крайней мере, номера строк, где возникает исключение?

1 ответ

Запуск вашего приложения под отладчиком - лучший способ выяснить, где происходит исключение.

Если вы не можете или не хотите использовать отладчик, вы можете получить номер строки и информацию об исходном файле, добавив обработчик и используя PolyML.Exception.exceptionLocation чтобы получить местоположение из пакета исключений. См. http://polyml.org/documentation/Reference/PolyMLException.html

В Poly/ML 5.6 вы также можете использовать PolyML.exception_trace чтобы получить трассировку вызовов, которые привели к исключению, но которые, вероятно, будут удалены в следующем выпуске,

Другие вопросы по тегам