debug

Hiển Thị Bản Đã Lỗi Thời

*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

  • traceback(message : string,level : number):string

    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.

  • traceback(thread : coroutine,message : string,level : number):string

    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.

  • info(level : number,options : string):Tuple

    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.

  • info(function : function,options : string):Tuple

    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.

  • info(thread : coroutine,level : number,options : string):Tuple

    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.

  • profilebegin(label : string):void

    Bắt đầu profiling cho một nhãn.

  • profileend():void

    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ố

message: string

Dòng đầu tiên của chuỗi trả lại.

level: number

Số lần gọi "lên" dàn gọi để trả lại.

Giá Trị Mặc Định: 1

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ố

thread: coroutine

Một luồng như được trả lại bởi coroutine.create() .

message: string

Dòng đầu tiên của chuỗi trả lại.

level: number

Số lần gọi "lên" dàn gọi để trả lại.

Giá Trị Mặc Định: 1

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ố

level: number

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.

options: string

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.
  • l ( số ) — Số hàng của chức năng được đại diện bởi level )
  • n (string ) — Tên của hàm; có thể là nil đối với các hàm anonim và C fun không có tên mục đích.
  • a ( số , Boolean ) — Arity của hàm, qui mô số lượng biến và xem hàm có phải là biến đa biến hay không.
  • 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ố

function: function

Chức năng của hàng call stack mà thông tin đã trả lại phải mô tả.

options: string

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.
  • l ( số ) — Dòng mà function được định nghĩa trên.
  • n (string ) — Tên của hàm; có thể là nil đối với các hàm anonim và C fun không có tên mục đích.
  • a ( số , Boolean ) — Arity của hàm, qui mô số lượng biến và xem hàm có phải là biến đa biến hay không.
  • 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ố

thread: coroutine

Một luồng như được trả lại bởi coroutine.create() .

level: number

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.

options: string

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.
  • l ( số ) — Số hàng của chức năng được đại diện bởi level )
  • n (string ) — Tên của hàm; có thể là nil đối với các hàm anonim và C fun không có tên mục đích.
  • a ( số , Boolean ) — Arity của hàm, qui mô số lượng biến và xem hàm có phải là biến đa biến hay không.
  • f (chức năng — Chức năng đã được kiểm tra.

Lợi Nhuận

profilebegin

void

Bắt đầu profiling cho một nhãn MicroProfiler .

Tham Số

label: string

Văn bản mà nhãn này hiển thị.

Lợi Nhuận

void

profileend

void

Ngưng profiling cho nhãn MicroProfiler mới nhất đã được mở ra.

Lợi Nhuận

void

getmemorycategory

Trả lại tên của thể loại bộ nhớ chính của subprocess hiện tại.

Lợi Nhuận

Danh thể loạibộ nhớ chủ động của subprocess hiện tại.

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ố

tag: string

Lợi Nhuận

Danh thể loạibộ nhớ trước của chủ đề hiện tại của chuỗi.

resetmemorycategory

void

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

void

dumpcodesize

void

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.

Lợi Nhuận

void