debug
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Cung cấp một vài chức năng cơ bản để debug mã trong Roblox. Khi không phải là thư viện debug được tìm thấy trong Lua một cách tự động, phiên bản này đã bị sandbox nặng nề.
Tóm Tắt
Chức Năng
Trả lại một chuỗi không định dạng mô tả chức năng gọi xe tải hiện tại.
Trả lại một chuỗi không định dạng mô tả chức năng gọi xe tải hiện tại.
Vượt qua toàn bộ dải băng tuyết hiện tại và trả lại một chuỗi chứa các chi tiết mức độ gọi của mục tiêu.
Làm việc qua toàn bộ dải băng tuyết hiện tại và trả lại một chuỗi chứa các chi tiết chuỗi gọi của mục tiêu.
Vượt qua toàn bộ dải thread mục tiêu và trả lại một chuỗi chứa các chi tiết cấu hình dải gọi của mục tiêu.
Bắt đầu profiling cho một nhãn.
Ngưng thực hiện profiling cho nhãn mới nhất mà debug.profilebegin() đã mở.
Trả lại tên của thể loại bộ nhớ chính của subprocess hiện tại.
Gán một nhãn tùy chỉnh cho thể lưu trữ nhớ của người dùng hiện tại.
Làm mới nhãn được gán bởi debug.setmemorycategory() đến giá trị được gán tự động (thông thường, tên script).
Hiển thị một bảng kích thước mã nguồn của các chức năng và tập lệnh riêng lẻ.
Chức Năng
traceback
Trả lại một hàng dữ liệu của cấp độ chức năng hiện tại như một chuỗi; với những từ khóa khác, một mô tả của các hàm đã được gọi lên đến điểm này. Trong giai đoạn đăng nhập, điều này hoạt động như một hàng dữ liệu lỗi nhưng không ngăn chặn sự th
Tham số level xác định cấp độ của hàng call-stack để xem, với 1 được gọi là call của hàng debug.traceback() bản thân, 1> 21> được gọi là call của hà
Lưu ý rằng chức năng này thường trả kết quả không chính xác (so với mã nguồn gốc) và hình dạng của truyền trở lại có thể thay đổi bất cứ lúc nào. Bạn không nên không parse giá trị trả lại cho các thông tin cụ thể như tên script hoặc số dòng.
Ví dụ sau đây bao gồm các hàm chức năng theo thứ tự; fnB() được gọi, và nó gọi fnA() để sau đó gọi debug.traceback() .
local function fnA()
print(debug.traceback("Specific moment during fnA()"))
end
local function fnB()
fnA()
end
-- Gọi chức năng fwb để bắt đầu traceback
fnB()
Tham Số
Lợi Nhuận
Traceback của hàng chức năng hiện tại.
traceback
Trả lại một hàng dữ liệu của cấp độ chức năng hiện tại như một chuỗi; với những từ khóa khác, một mô tả của các hàm đã được gọi lên đến điểm này. Trong giai đoạn đăng nhập, điều này hoạt động như một hàng dữ liệu lỗi nhưng không ngăn chặn sự th
Tham số level xác định cấp độ của hàng call-stack để xem, với 1 được gọi là call của hàng debug.traceback() bản thân, 1> 21> được gọi là call của hà
Lưu ý rằng chức năng này thường trả kết quả không chính xác (so với mã nguồn gốc) và hình dạng của truyền trở lại có thể thay đổi bất cứ lúc nào. Bạn không nên không parse giá trị trả lại cho các thông tin cụ thể như tên script hoặc số dòng.
Ví dụ sau đây bao gồm các hàm chức năng theo thứ tự; fnB() được gọi, và nó gọi fnA() để sau đó gọi debug.traceback() .
local function fnA()
print(debug.traceback("Specific moment during fnA()"))
end
local function fnB()
fnA()
end
-- Gọi chức năng fwb để bắt đầu traceback
fnB()
Tham Số
Một luồng như được trả lại bởi coroutine.create() .
Dòng đầu tiên của chuỗi trả lại.
Số lần gọi "lên" dàn gọi để trả lại.
Lợi Nhuận
Traceback của hàng chức năng hiện tại.
info
Cho phép kiểm tra chương trình của hàng call. Đây là chức năng khác biệt debug.traceback() trong việc đảm bảo format dữ liệu nó trả lại. Điều này hữu ích cho các mục đích kiểm tra và lọc chung, bao gồm gửi dữ liệu đến các hệ thống đòi hỏi dữ liệu cấ
local function fnA()
-- Xuất nguồn ID ("s") và dòng ("l") ở cấp độ 1 và 2
print(debug.info(1, "sl")) --> fnA() 3
print(debug.info(2, "sl")) --> fnA() 7
end
fnA()
Ghi chú rằng chức năng này giống như debug.getinfo, một phần không có sẵn của thư viện Lua tiêu chuẩn mà phục vụ một mục đích tương tự.
Tham Số
Xác định ở cấp độ nào của chuỗi gọi mà thông tin được trả lại để mô tả. Một giá trị 1 đại diện cho hàm mà đang gọi debug.info() , một giá trị 2 đại diện cho hàm mà gọi hàm đó, và như vậy.
Một chuỗi mô tả những gì thông tin đã trả phải đại diện. Nó chỉ được chứa 0 hoặc 1 instanti của các nhân vật slnaf , mỗi instanti đại diện cho một mảnh thông tin:
- s ( mã dòng ) — Định dạng nguồn của chức năng, bằng cách tương ứng với tên hoàn chỉnh của script mà chức năng được định nghĩa.
- f (chức năng — Chức năng đã được kiểm tra.
Lợi Nhuận
info
Cho phép kiểm tra chương trình của hàng call. Đây là chức năng khác biệt debug.traceback() trong việc đảm bảo format dữ liệu nó trả lại. Điều này hữu ích cho các mục đích kiểm tra và lọc chung, bao gồm gửi dữ liệu đến các hệ thống đòi hỏi dữ liệu cấ
local function fnA()
end
local function fnB()
end
-- Dòng ra ("l"), tên ("n") và nhận dạng ("f") cho cả hai funA() và funB()
print(debug.info(fnA, "lnf")) --> 1 chức năng ffnA: 0x75e3d3c398a81252
print(debug.info(fnB, "lnf")) --> 5 fnB function: 0x6022a6dc5ccf4ab2
Ghi chú rằng chức năng này giống như debug.getinfo, một phần không có sẵn của thư viện Lua tiêu chuẩn mà phục vụ một mục đích tương tự.
Tham Số
Chức năng của hàng call stack mà thông tin đã trả lại phải mô tả.
Một chuỗi mô tả những gì thông tin đã trả phải đại diện. Nó chỉ được chứa 0 hoặc 1 instanti của các nhân vật slnaf , mỗi instanti đại diện cho một mảnh thông tin:
- s ( mã dòng ) — Định dạng nguồn của chức năng, bằng cách tương ứng với tên hoàn chỉnh của script mà chức năng được định nghĩa.
- f (chức năng — Chức năng đã được kiểm tra.
Lợi Nhuận
info
Cho phép kiểm tra chương trình của hàng call. Đây là chức năng khác biệt debug.traceback() trong việc đảm bảo format dữ liệu nó trả lại. Điều này hữu ích cho các mục đích kiểm tra và lọc chung, bao gồm gửi dữ liệu đến các hệ thống đòi hỏi dữ liệu cấ
local function fnA()
-- Xuất nguồn ID ("s") và dòng ("l") ở cấp độ 1 và 2
print(debug.info(1, "sl")) --> fnA() 3
print(debug.info(2, "sl")) --> fnA() 7
end
fnA()
Ghi chú rằng chức năng này giống như debug.getinfo, một phần không có sẵn của thư viện Lua tiêu chuẩn mà phục vụ một mục đích tương tự.
Tham Số
Một luồng như được trả lại bởi coroutine.create() .
Xác định ở cấp độ nào của chuỗi gọi mà thông tin được trả lại để mô tả. Một giá trị 1 đại diện cho hàm mà đang gọi debug.info() , một giá trị 2 đại diện cho hàm mà gọi hàm đó, và như vậy.
Một chuỗi mô tả những gì thông tin đã trả phải đại diện. Nó chỉ được chứa 0 hoặc 1 instanti của các nhân vật slnaf , mỗi instanti đại diện cho một mảnh thông tin:
- s ( mã dòng ) — Định dạng nguồn của chức năng, bằng cách tương ứng với tên hoàn chỉnh của script mà chức năng được định nghĩa.
- f (chức năng — Chức năng đã được kiểm tra.
Lợi Nhuận
profilebegin
Bắt đầu profiling cho một nhãn MicroProfiler .
Tham Số
Văn bản mà nhãn này hiển thị.
Lợi Nhuận
setmemorycategory
Gán một tên tag tùy chỉnh cho thể lưu của nhân bản hiện tại trong Developer Console . Hữu ích cho việc phân tích sử dụng bộ nhớ của nhiều thread trong cùng một script mà nói chung sẽ được grouped lại dưới cùng một thẻ/tên. Trả lại tên của thể thể loạicủa nhân bản hiện tại.
Tham Số
Lợi Nhuận
Danh thể loạibộ nhớ trước của chủ đề hiện tại của chuỗi.
resetmemorycategory
Làm mới nhãn được gán bởi debug.setmemorycategory() đến giá trị được gán tự động (thông thường, tên script).
Lợi Nhuận
dumpcodesize
Hiển thị một bảng kích thước mã nguồn của các chức năng và tập lệnh riêng lẻ. Chức năng này chỉ có sẵn trong thanh Màn hình lệnh ở Studio. Thêm thông tin có thể được tìm thấy trên trang Màn hình mã nguồn.