Как пройти трассировку стека из `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
чтобы получить трассировку вызовов, которые привели к исключению, но которые, вероятно, будут удалены в следующем выпуске,