debug
*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
Mevcut işlev çağı stacks'ın açıklamasını tanımlayan bir dizi geçersiz format döndürür.
Mevcut işlev çağı stacks'ın açıklamasını tanımlayan bir dizi geçersiz format döndürür.
Mevcut threadin tüm stapını geçer ve hedef seviye ayrıntılarının çağrı stapını içeren bir dizi döndürür.
Mevcut threadin tüm stapını geçer ve hedef işlev ayrıntılarının çağrı stapını içeren bir dizi döndürür.
Hedef birleşik sunucunun tüm katmanlarını geçer ve hedef seviye ayrıntılarının çağrı stapını içeren bir yuva döndürür.
Bir etiket için profil oluşturur.
Açılan en son etiket için profilini durdurur. debug.profilebegin()
Mevcutธ레ดin aktif bellek kategorisinin adını iade eder.
Mevcut threadin belleği kategorisine özel bir etiket atar.
Etiketin türünü debug.setmemorycategory() ile otomatik olarak belirlenen değere sıfırlar (genellikle, script adı).
Bireysel işlevlerin ve kodların kullanım boyutunu gösterir.
İş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
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
Anahtar kaynağı coroutine.create() tarafından döndürülen bir bağlantı.
Döndürilen diziilk satırı.
Çağrı stapının "yukarı" çağrı sayısı.
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
Ç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.
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:
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
Döndürilen bilginin açıkladığı çağrı stacks'in işlevi olmalıdır.
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:
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
Anahtar kaynağı coroutine.create() tarafından döndürülen bir bağlantı.
Ç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.
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:
Dönüşler
profilebegin
Bir MicroProfiler etiketi için profil oluşturur.
Parametreler
Bu MicroProfiler etiketinin gösterdiği yazı.
Dönüşler
profileend
Açılan en son debug.profilebegin() etiketi için profil görüntülenmeyi durdurur.
Dönüşler
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
Dönüşler
Mevcut threadinizin önceki hafıza kategorisi.
resetmemorycategory
Etiketin türünü debug.setmemorycategory() ile otomatik olarak belirlenen değere sıfırlar (genellikle, script adı).
Dönüşler
dumpcodesize
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.