debug

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Roblox'ta kodu depodağı için birkaç temel işlev sağlar. Lua'da varsayılan debug kütüphanesinden farklı olarak, bu versiyon şiddetle sandbox'landı.

Özet

İşlevler

İşlevler

traceback

Mevcut işlev çağrısı stacks'ın bir dizimi olarak iade eder; bir başka deyişle, bu noktaya kadar çağrılan işlevlerin bir listesi. Bu, debug için bir hata takibi gibi davranır, ancak kodun çalıştırılmasını durdurmaz.

The level parameter specifies what level of the call stack to consider, with 1 being the call of debug.traceback() itself, 1> 21> being the call of the function calling 4> Library. debug. traceback()4> , and so on. See the code sample below for an example of sequential function calls.

Bu işlev genellikle yanlış sonuçlar (geri kayıt koduna kıyasla) veya işaretlenen işlemlerin görünümü değişebileceği için yanlış olabilir. notlar döndürilen takip etkinliğinin içeriğini özelleştirmelisiniz.

Aşağıdaki örnek, sıralama işlev çağırılarını içerir; fnB() çağrılır ve fnA() çağrılır, sonra debug.traceback() çağrılır.


local function fnA()
print(debug.traceback("Specific moment during fnA()"))
end
local function fnB()
fnA()
end
-- fnB()'i çağırın traceback'i başlatmak için
fnB()

Parametreler

message: string

Döndürilen diziilk satırı.

level: number

Çağrı stapının "yukarı" çağrı sayısı.

Varsayılan değer: 1

Dönüşler

Mevcut işlev çağrısı stacks'inin takibi.

traceback

Mevcut işlev çağrısı stacks'ın bir dizimi olarak iade eder; bir başka deyişle, bu noktaya kadar çağrılan işlevlerin bir listesi. Bu, debug için bir hata takibi gibi davranır, ancak kodun çalıştırılmasını durdurmaz.

The level parameter specifies what level of the call stack to consider, with 1 being the call of debug.traceback() itself, 1> 21> being the call of the function calling 4> Library. debug. traceback()4> , and so on. See the code sample below for an example of sequential function calls.

Bu işlev genellikle yanlış sonuçlar (geri kayıt koduna kıyasla) veya işaretlenen işlemlerin görünümü değişebileceği için yanlış olabilir. notlar döndürilen takip etkinliğinin içeriğini özelleştirmelisiniz.

Aşağıdaki örnek, sıralama işlev çağırılarını içerir; fnB() çağrılır ve fnA() çağrılır, sonra debug.traceback() çağrılır.


local function fnA()
print(debug.traceback("Specific moment during fnA()"))
end
local function fnB()
fnA()
end
-- fnB()'i çağırın traceback'i başlatmak için
fnB()

Parametreler

thread: coroutine

Anahtar kaynağı coroutine.create() tarafından döndürülen bir bağlantı.

message: string

Döndürilen diziilk satırı.

level: number

Çağrı stapının "yukarı" çağrı sayısı.

Varsayılan değer: 1

Dönüşler

Mevcut işlev çağrısı stacks'inin takibi.

info

Call Stack'ı programatik olarak inceleyebilmeyi sağlar. Bu işlev, verileri geri verdiği biçimi garanti eder. Bu, genel günlük ve filtreleme amaçları için, ayrıca kırılımlı giriş sistemleri gibi sistemlere gönderilmesi için kullanışlıdır.


local function fnA()
-- 1. ve 2. seviyelerdeki çıkış kaynağı ("s") ve satır ("l")
print(debug.info(1, "sl")) --> fnA() 3
print(debug.info(2, "sl")) --> fnA() 7
end
fnA()

Bu işlevin debug.getinfo gibi bir mevcut Lua kütüphanesinin bir parçası olduğunu unutmayın.

Parametreler

level: number

Çağrı stapının hangi seviyede geri döndürülen bilginin açıklanması gerektiğini belirler. Bir değer 1 çağrı stapının içindeki işlevi temsil eder. Bir değer debug.info() çağrı stapının içindeki işlevi temsil eder ve böylece devam eder.

options: string

Döndürilen bilginin temsil etmesi gereken şeyi tanımlayan bir yuva. Sadece 0 veya 1 instansını içeren karakterlerin slnaf , her bir tane bilgi temsil eden olmalıdır:

  • s (string ) — Fonksiyon kaynağı kimliği, işlevin tanımlananının tam adına eşittir.
  • l ( sayı ) — level tarafından temsil edilen işlev çağrısının satır numarası.
  • n ( string ) — Fungsıonun adı; anonim işlevler ve C işlevleri için nil olabilir; atanmış bir debug ismi olmayan anonim işlevler ve C işlevleri için 0> kaydedilmiş0> olabilir.
  • a ( sayı , booğ ) — Fonksiyonun, parametre sayısına ve fonksiyonun çoklu olup olmadığına referans veren aritisi.
  • f (işlevi ) — İnspect edilen işlev.

Dönüşler

info

Call Stack'ı programatik olarak inceleyebilmeyi sağlar. Bu işlev, verileri geri verdiği biçimi garanti eder. Bu, genel günlük ve filtreleme amaçları için, ayrıca kırılımlı giriş sistemleri gibi sistemlere gönderilmesi için kullanışlıdır.


local function fnA()
end
local function fnB()
end
-- Her iki funA() ve funB() için ("l", "n" ve "f") çıkış hattı ve kimlik
print(debug.info(fnA, "lnf")) --> 1 fonksiyonu: 0x75e3d3c398a81252
print(debug.info(fnB, "lnf")) --> 5 fnB function: 0x6022a6dc5ccf4ab2

Bu işlevin debug.getinfo gibi bir mevcut Lua kütüphanesinin bir parçası olduğunu unutmayın.

Parametreler

function: function

Döndürilen bilginin açıkladığı çağrı stacks'in işlevi olmalıdır.

options: string

Döndürilen bilginin temsil etmesi gereken şeyi tanımlayan bir yuva. Sadece 0 veya 1 instansını içeren karakterlerin slnaf , her bir tane bilgi temsil eden olmalıdır:

  • s (string ) — Fonksiyon kaynağı kimliği, işlevin tanımlananının tam adına eşittir.
  • l ( sayı ) — function ın tanımlanan satırı.
  • n ( string ) — Fungsıonun adı; anonim işlevler ve C işlevleri için nil olabilir; atanmış bir debug ismi olmayan anonim işlevler ve C işlevleri için 0> kaydedilmiş0> olabilir.
  • a ( sayı , booğ ) — Fonksiyonun, parametre sayısına ve fonksiyonun çoklu olup olmadığına referans veren aritisi.
  • f (işlevi ) — İnspect edilen işlev.

Dönüşler

info

Call Stack'ı programatik olarak inceleyebilmeyi sağlar. Bu işlev, verileri geri verdiği biçimi garanti eder. Bu, genel günlük ve filtreleme amaçları için, ayrıca kırılımlı giriş sistemleri gibi sistemlere gönderilmesi için kullanışlıdır.


local function fnA()
-- 1. ve 2. seviyelerdeki çıkış kaynağı ("s") ve satır ("l")
print(debug.info(1, "sl")) --> fnA() 3
print(debug.info(2, "sl")) --> fnA() 7
end
fnA()

Bu işlevin debug.getinfo gibi bir mevcut Lua kütüphanesinin bir parçası olduğunu unutmayın.

Parametreler

thread: coroutine

Anahtar kaynağı coroutine.create() tarafından döndürülen bir bağlantı.

level: number

Çağrı stapının hangi seviyede geri döndürülen bilginin açıklanması gerektiğini belirler. Bir değer 1 çağrı stapının içindeki işlevi temsil eder. Bir değer debug.info() çağrı stapının içindeki işlevi temsil eder ve böylece devam eder.

options: string

Döndürilen bilginin temsil etmesi gereken şeyi tanımlayan bir yuva. Sadece 0 veya 1 instansını içeren karakterlerin slnaf , her bir tane bilgi temsil eden olmalıdır:

  • s (string ) — Fonksiyon kaynağı kimliği, işlevin tanımlananının tam adına eşittir.
  • l ( sayı ) — level tarafından temsil edilen işlev çağrısının satır numarası.
  • n ( string ) — Fungsıonun adı; anonim işlevler ve C işlevleri için nil olabilir; atanmış bir debug ismi olmayan anonim işlevler ve C işlevleri için 0> kaydedilmiş0> olabilir.
  • a ( sayı , booğ ) — Fonksiyonun, parametre sayısına ve fonksiyonun çoklu olup olmadığına referans veren aritisi.
  • f (işlevi ) — İnspect edilen işlev.

Dönüşler

profilebegin

void

Bir MicroProfiler etiketi için profil oluşturur.

Parametreler

label: string

Bu MicroProfiler etiketinin gösterdiği yazı.

Dönüşler

void

profileend

void

Açılan en son debug.profilebegin() etiketi için profil görüntülenmeyi durdurur.

Dönüşler

void

getmemorycategory

Mevcutธ레ดin aktif bellek kategorisinin adını iade eder.

Dönüşler

Mevcut subprocessin aktif hafıza kategorisi.

setmemorycategory

Geliştirici Konsolu altındaki mevcut thread'in hafıza kategorisine özel bir etiket ismi verir. Bu, aynı grup altındaki birkaç thread'in hafıza kullanımını analiz etmek için yararlıdır. Geliştirici Konsolu'nun mevcut hafıza kategorisinin ismini içerir.

Parametreler

tag: string

Dönüşler

Mevcut threadinizin önceki hafıza kategorisi.

resetmemorycategory

void

Etiketin türünü debug.setmemorycategory() ile otomatik olarak belirlenen değere sıfırlar (genellikle, script adı).

Dönüşler

void

dumpcodesize

void

Bireysel işlevlerin ve kaynak kodunun boyutunu gösteren bir tablo görüntüler. Bu işlev sadece Komut Barında mevcut. Daha fazla ayrıntı Kaynak Kod Oluşturma sayfasında bulunabilir.

Dönüşler

void