2015-11-29 40 views
10

Tôi đang thực hiện khóa học giới thiệu Scala từ Coursera.Điểm ngắt Scala Intellij bị bỏ qua

Trong Intellij, tôi đang cố gắng gỡ lỗi nhưng các điểm ngắt được bỏ qua.

Không giống như trong câu hỏi này: Can't debug a Scala application in IntelliJ + sbt-idea-plugin, tôi không nhận được bất kỳ lỗi nào.

Tôi có cần cài đặt một cái gì đó hoặc đặt một số cấu hình Intellij không?

+1

Đảm bảo rằng bạn đang gỡ lỗi. IntelliJ Idea có các nút riêng để chạy và gỡ lỗi. Gỡ lỗi là biểu tượng có lỗi " – Archeg

+1

Bạn đang chạy ứng dụng của mình như thế nào? Bạn đang sử dụng sbt? Nếu vậy, sbt nên lắng nghe các kết nối trình gỡ lỗi. Bạn có thể thực hiện việc này bằng cách sử dụng sbt -jvm-debug 5005. Sau đó, bạn có thể tạo cấu hình gỡ lỗi từ xa trong IntelliJ. Cài đặt gỡ lỗi phải đủ, nhưng hãy đảm bảo kiểm tra xem cổng cũng được đặt thành 5005 hay không. – irundaia

+0

Bạn có thể tải lên một số ảnh chụp màn hình về hành động của mình không? – RonyHe

Trả lời

0

Một người nào đó gần đây đã đưa tôi qua gỡ lỗi trong InteliJ bằng scala/scalatest. Tôi đang chạy InteliJ Idea 2017.2 với plugin ngôn ngữ scala mới nhất được cài đặt, không có plugin SBT nào được cài đặt (theo như tôi có thể nói đây chỉ là một phần của plugin scala bây giờ). Hy vọng rằng điều này sẽ giúp một số người khác ra ngoài:

  1. Đặt điểm ngắt bằng cách nhấp vào bên cạnh số dòng bạn muốn kiểm tra.
  2. Giả sử bạn đang sử dụng ScalaTest để thiết lập một số điều kiện và chạy chương trình của mình, bạn có thể nhấp chuột phải vào một trong các lớp thử nghiệm của bạn, sau đó chọn Debug '[classname]' từ trình đơn thả xuống. Điều này sẽ bật mở ngăn gỡ lỗi ở phía dưới. enter image description here

Khi bạn sử dụng InteliJ để chạy gỡ lỗi trực tiếp (không gắn qua SBT vv) Tôi đã thực sự có thể có được điều này để làm việc. Tôi đã không thành công với bất kỳ câu trả lời nào cho các câu hỏi liên quan thảo luận về việc gắn vào một tiến trình sbt đang chạy (ít nhất là với scalatest).

Có rất nhiều điều hữu ích mà việc gỡ lỗi intelij mang lại cho bạn khả năng mở rộng quy mô tại thời điểm này. Giả sử có một thử nghiệm không thành công và bạn muốn tìm hiểu lý do. Trên cửa sổ gỡ lỗi, nhấp vào tab giao diện điều khiển và bạn sẽ thấy danh sách các bài kiểm tra của mình được sắp xếp theo bộ w/dấu đỏ bên cạnh các lỗi không thành công. Bạn có thể nhấp chuột phải vào một thử nghiệm duy nhất và chọn gỡ lỗi từ trình đơn thả xuống để chỉ gỡ lỗi một thử nghiệm. Nó khá hữu ích. enter image description here

Hy vọng rằng sẽ giúp một số người khác! Tôi cũng nhấn một vài điểm mà tôi nên phác thảo:

  1. Đôi khi tôi cần tải lại dự án sbt (nhấp vào mũi tên tròn bên dưới tab dự án sbt ở bên trái). Phải mất một thời gian nhưng nó làm sạch một số lỗi ngẫu nhiên về các lớp học không được tìm thấy, và thậm chí không liên quan những điều âm thanh như One or more requested classes are not Suites. enter image description here
  2. Đôi khi tôi gặp lỗi về các lớp bóng mờ không tìm thấy, đặc biệt là khi sử dụng docker qua sbt (ví dụ để quay lên một nút db trong các thử nghiệm của tôi). Để khắc phục điều đó, đầu tiên tôi đã xóa jar được biên dịch đã lưu trong bộ nhớ cache (ví dụ: rm -r $HOME/.ivy2/cache/com.spotify/ để loại bỏ mã được biên dịch đã lưu trong bộ nhớ cache gây ra sự cố), sau đó tôi tải lại dự án như trong bước 1.
  3. Nếu vẫn thất bại, hãy đảm bảo rằng dự án được nhập đúng cách. Bạn có thể cần xóa thư mục .idea trong thư mục của mình và nhập lại dự án sbt. Điều này làm hỏng cài đặt của bạn và tất cả, nhưng nó đã làm việc cho tôi như một phương sách cuối cùng trong quá khứ.
Các vấn đề liên quan