Các cải tiến của Trình gỡ lỗi Lua!

Hôm nay, chúng tôi rất vui mừng được thông báo về một bản cập nhật lớn cho Trình gỡ lỗi Lua! Tính năng này được thiết kế để giúp bạn hiểu cách mã của bạn đang được thực thi và xác định lỗi hiệu quả hơn so với các tùy chọn thường được sử dụng, chẳng hạn như câu lệnh in. Nếu bạn chưa khám phá Trình gỡ lỗi Lua gần đây, chúng tôi mời bạn tìm hiểu cách sử dụng nó để gỡ lỗi mã của bạn hiệu quả hơn. Trước khi mô tả các cải tiến và bản sửa lỗi mới nhất, hãy cùng điểm qua các tính năng chính của Trình gỡ lỗi Lua.
Điểm dừng
Việc chèn điểm dừng vào mã của bạn cho phép bạn tạm dừng trò chơi tại bất kỳ điểm nào để kiểm tra logic của nó. Để sử dụng điểm dừng, hãy xác định vị trí gần đúng nơi trò chơi của bạn gặp sự cố và đặt điểm dừng tại các câu lệnh mà bạn cần thêm thông tin bằng cách nhấp vào bên trái dòng mã. Mã của bạn sẽ tạm thời ngừng thực thi và tất cả các biến toàn cục và cục bộ, thuộc tính và tham chiếu đối tượng sẽ hiển thị các giá trị đã được gán trong trò chơi cho đến thời điểm đó.

Điều hướng qua mã nguồn
Khi bạn đã tạm dừng mã tại một điểm dừng cụ thể, bạn có thể tập trung vào việc chẩn đoán những gì đang xảy ra. Ví dụ: khi bạn đến các lệnh gọi hàm khác, bạn có thể Bước vào các hàm đó và điều tra xem chúng đang làm gì. Bạn cũng có thể Bước ra khỏi bất kỳ hàm nào, sau đó mã sẽ chạy cho đến khi hàm trả về và dừng tại câu lệnh tiếp theo trong mã đã gọi hàm đó. Chức năng này cho phép bạn quan sát kỹ cách các biến thay đổi theo thời gian và các hàm nào đang được gọi.


Theo dõi các thay đổi của biến
Tính năng "Thêm theo dõi" cho phép bạn thông báo cho Trình gỡ lỗi Lua biết các biến mà bạn muốn theo dõi khi chúng gặp các điểm dừng. Để thêm một mục vào danh sách theo dõi, bạn chỉ cần bôi đen một biến, nhấp chuột phải vào nó trong cửa sổ xem kịch bản và chọn mục menu "Thêm theo dõi". Ngoài ra, bạn có thể nhấp vào nút "Thêm theo dõi" và nhập tên của biến. Điều này sẽ tự động lấy thông tin về giá trị của biến đang được theo dõi khi các điểm dừng được kích hoạt.

Call Stack
Cửa sổ Call Stack hiển thị danh sách các hàm được gọi lẫn nhau theo thứ tự. Ví dụ: hàm A gọi hàm B, hàm B lại gọi hàm C chứa một điểm dừng (Breakpoint) được nhúng. Khi quá trình thực thi dừng lại tại điểm dừng đó, ngăn xếp sẽ hiển thị thứ tự các hàm được gọi cùng với vị trí gọi hàm. Trong khi theo dõi các biến cục bộ trong hàm C, bạn cũng có thể chuyển đổi giữa các hàm trong ngăn xếp, thay đổi bối cảnh của hàm hiện được chọn trong danh sách ngăn xếp và kiểm tra các thay đổi đối với các biến cục bộ đó.

Sử dụng Trình gỡ lỗi Lua
Bạn có thể truy cập Trình gỡ lỗi Lua bất cứ khi nào đang chỉnh sửa tập lệnh trong Roblox Studio. Để bắt đầu và thêm các điểm dừng vào mã của bạn, chỉ cần nhấp vào bên trái dòng mã trong cửa sổ tập lệnh mà bạn muốn tạm dừng. Mỗi dòng bạn nhấp vào và chỉ định làm điểm dừng sẽ được đánh dấu bằng một chấm đỏ.

Ngay khi bạn chạy thử trò chơi, bạn có thể bật các tùy chọn Breakpoint, Add Watch và Call Stack trong menu View để kiểm tra hành vi của mã nguồn bên dưới khung xem chính. Đơn giản như vậy! Nếu bạn chưa từng sử dụng Lua Debugger trước đây, chúng tôi khuyến khích bạn thử nghiệm nó.
Các cải tiến mới
Sau khi đã xem xét các tính năng chính của Trình gỡ lỗi Lua, gần đây chúng tôi đã thực hiện một số cải tiến và sửa lỗi quan trọng, bao gồm:
- Đã khắc phục sự cố trong đó tập lệnh chính xác có thể không mở được tại điểm dừng hoặc từ cửa sổ Call Stack.
- Đã sửa lỗi tô sáng dòng hiện tại của Lua Debugger.
- Các lỗi gọi được bảo vệ hoặc pcall hiện được phát hiện chính xác.
- Thêm các bảng hỗn hợp (Mixed tables) cho phép bạn theo dõi và giám sát các giá trị. Bạn cũng có thể di chuột qua biến bảng và xem tất cả các giá trị ngay lập tức mà không cần phải in chúng ra.
- Các cải tiến giao diện người dùng (UI) nhỏ khác.
- Các bản sửa lỗi khác nhau cho các chú thích công cụ và cửa sổ Thêm theo dõi.
- Khi di chuột qua các biến ký tự đơn, giá trị của biến hiện được hiển thị chính xác.
- Tất cả các thuộc tính hiện được liệt kê trong hộp thoại thông tin và cửa sổ "Watch" mà không thiếu bất kỳ thuộc tính nào.
Chúng tôi cam kết cung cấp cho cộng đồng các nhà phát triển Roblox tài năng những công cụ mà họ cần. Chúng tôi rất mong nhận được phản hồi của bạn về cách chúng tôi có thể tiếp tục cải thiện Trình gỡ lỗi Lua trên Diễn đàn nhà phát triển.


