Tôi đã xem qua SMLNJ User Guide và không thể tìm thấy bất kỳ điều gì về khả năng gỡ lỗi. Tôi rất thích chỉ nhìn thấy một dấu vết ngăn xếp, hoặc bước qua một chức năng. Điều này có thể. Có các triển khai khác cho các biến thể tương tự của SML mà làm cung cấp tính năng này không?SMLNJ có bất kỳ loại trình gỡ lỗi nào không?
16
A
Trả lời
8
Từ phần 3.3 của SMLNJ faq:
Q: Có một trình gỡ lỗi cho SML/NJ? Điều gì đã từng xảy ra với trình gỡ lỗi của Tolmach cho SML/NJ 0.93?
A: Câu trả lời ngắn gọn là không.
Debugging SML * For years, no one had an SML debugger * Why? o No one had any bugs? o It is hard to write a debugger for SML o The user community wasn’t large enough * Likely all three are true
Có a .NET compiler, tuy nhiên, trong đó tuyên bố có một số hỗ trợ gỡ lỗi ..
10
Hiện tại không có debugger bước dựa trên.
Bạn có thể lấy chồng vết lùi bằng cách làm như sau:
- CM.make "$smlnj-tdp/back-trace.cm";
[library $smlnj-tdp/back-trace.cm is stable]
[library $smlnj-tdp/plugins.cm is stable]
[library $SMLNJ-LIB/Util/smlnj-lib.cm is stable]
[library $smlnj/compiler/current.cm is stable]
[library $smlnj/compiler/x86.cm is stable]
[library $smlnj/viscomp/core.cm is stable]
[library $smlnj/viscomp/parser.cm is stable]
[library $smlnj/viscomp/basics.cm is stable]
[library $smlnj/viscomp/elaborate.cm is stable]
[library $smlnj/viscomp/elabdata.cm is stable]
[library $smlnj/MLRISC/MLRISC.cm is stable]
[library $SMLNJ-MLRISC/MLRISC.cm is stable]
[library $Lib.cm(=$SMLNJ-MLRISC)/Lib.cm is stable]
[library $Control.cm(=$SMLNJ-MLRISC)/Control.cm is stable]
[library $Graphs.cm(=$SMLNJ-MLRISC)/Graphs.cm is stable]
[library $smlnj/MLRISC/Control.cm is stable]
[library $smlnj/viscomp/debugprof.cm is stable]
[library $smlnj/viscomp/execute.cm is stable]
[library $smlnj/internal/smlnj-version.cm is stable]
[library $smlnj/viscomp/x86.cm is stable]
[New bindings added.]
val it = true : bool
- SMLofNJ.Internals.TDP.mode := true;
[autoloading]
[autoloading done]
val it =() : unit
-
Sau đó, bạn có thể tải một số mã và thay vì chỉ in ngoại lệ, bạn sẽ nhận được một chồng backtrace mô phỏng. Bạn phải biên dịch lại mã của bạn sau khi làm theo các bước trên, hoặc điều này sẽ không hoạt động!
- exception Foo;
exception Foo
- fun otherFun() = raise Foo;
val otherFun = fn : unit -> 'a
- fun raiseAtZero(n) = if (n > 0) then raiseAtZero(n-1) else otherFun();
val raiseAtZero = fn : int -> 'a
- raiseAtZero 10;
stdIn:9.1-9.15 Warning: type vars not generalized because of
value restriction are instantiated to dummy types (X1,X2,...)
*** BACK-TRACE ***
GOTO stdIn:7.5-7.27: otherFun[2]
(from: stdIn:8.60-8.70: raiseAtZero[2])
CALL-(stdIn:8.5-8.70: raiseAtZero[2]
(from: stdIn:9.1-9.15: it)
GOTO stdIn:5.5-5.27: otherFun[2]
(from: stdIn:6.60-6.70: raiseAtZero[2])
CALL-(stdIn:6.5-6.70: raiseAtZero[2]
(from: stdIn:6.71-6.86: it)
uncaught exception Foo
raised at: stdIn:7.24-7.27
-
7
Hiện nay, một debugger cấp nguồn trong PolyML: http://www.polyml.org/documentation/Tutorials/Debugging.html
2
Các vấn đề liên quan
- 1. Có bất kỳ trình gỡ lỗi C# /. NET độc lập nào không?
- 2. Magento không gửi bất kỳ thư nào, cách gỡ lỗi?
- 3. Lỗi ứng dụng mà không có bất kỳ loại ngoại lệ nào
- 4. có bất kỳ lựa chọn thay thế XDebug nào để gỡ lỗi PHP không?
- 5. Trình xây dựng gỡ lỗi Visual Studio có chứa bất kỳ thông tin cá nhân nào không?
- 6. Có bất kỳ "trình gỡ rối trực quan" nào cho Java không?
- 7. Có bất kỳ IDE Windows Perl miễn phí nào với gỡ lỗi không?
- 8. Chương trình Java chấm dứt bất ngờ mà không có bất kỳ thông báo lỗi nào
- 9. Trình gỡ lỗi trình gỡ lỗi và "Loại không được đánh dấu là có thể tuần tự hóa"
- 10. Không thể kết nối với Glassfish bằng cách sử dụng bất kỳ trình gỡ lỗi
- 11. Có bất kỳ giải pháp thay thế mã nguồn mở nào cho Trình gỡ lỗi ReplayDIRECTOR/Chronon không?
- 12. cho đường ray actionmailer, bất kỳ cách nào để gỡ lỗi ActionView :: Template :: Lỗi lỗi?
- 13. Bất kỳ Trình phân loại Naive Bayesian nào trong python?
- 14. Bất kỳ loại Trình xem IDML bên ngoài nào
- 15. Bất kỳ may mắn gỡ lỗi lambdas với gdb?
- 16. Perl có loại mảng liên kết có thể có bất kỳ loại khóa nào không?
- 17. Bạn có thấy giá trị của NSUserDefaults ở bất kỳ đâu trong trình gỡ lỗi xcode không?
- 18. In bất kỳ loại tệp nào
- 19. Có bất kỳ thủ thuật biên dịch/tiền xử lý nào để gỡ lỗi in tên của enum không?
- 20. Có bất kỳ ScalaConsole nào không?
- 21. Có bất kỳ ESB .NET nào không?
- 22. Có bất kỳ sách ocsigen nào không?
- 23. Thực hiện bất kỳ trình biên dịch c nào có thực hiện bất kỳ tính năng C1X nào không?
- 24. Có trình gỡ lỗi URL Google Plus giống như trình gỡ lỗi cho Facebook không?
- 25. Lỗi NPM trên bất kỳ lệnh nào
- 26. Có bất kỳ bất lợi nào đối với SEAM không?
- 27. Đăng JSON và python Flask - bất kỳ kỹ thuật nào để sử dụng trình gỡ lỗi Werkzeug?
- 28. Có bất kỳ chuyển đổi nào để gỡ cài đặt im lặng không?
- 29. Có bất kỳ công cụ gỡ rối đồng thời nào cho C# .NET trong VS2010
- 30. Phát hiện khi nào là Firebug (hoặc bất kỳ trình gỡ rối web nào khác) được sử dụng để gỡ lỗi