5
我正在學習安全挑戰。其中一項挑戰要求我檢索已被銷燬並保存在內存中的數據,直到垃圾收集器啓動。我怎樣才能看到垃圾收集器中有什麼
我已經嘗試了很多東西。我想知道是否有可能從python控制檯轉儲進程內存。
此外,挑戰給了我們一個python控制檯,但有一個秒錶而不是「>>>」。他們怎麼能這樣做? 我只是有一個啓動python控制檯的ssh訪問。
謝謝
我正在學習安全挑戰。其中一項挑戰要求我檢索已被銷燬並保存在內存中的數據,直到垃圾收集器啓動。我怎樣才能看到垃圾收集器中有什麼
我已經嘗試了很多東西。我想知道是否有可能從python控制檯轉儲進程內存。
此外,挑戰給了我們一個python控制檯,但有一個秒錶而不是「>>>」。他們怎麼能這樣做? 我只是有一個啓動python控制檯的ssh訪問。
謝謝
你可以使用下面的代碼來看看什麼是垃圾。
import gc
def dump_garbage():
"""
show us what's the garbage about
"""
# force collection
print("\nGARBAGE:")
gc.collect()
print("\nGARBAGE OBJECTS:")
for x in gc.garbage:
s = str(x)
if len(s) > 80: s = s[:80]
print(type(x),"\n ", s)
if __name__=="__main__":
import gc
gc.enable()
gc.set_debug(gc.DEBUG_LEAK)
# make a leak
l = []
l.append(l)
del l
# show the dirt ;-)
dump_garbage()
來規避導入的禁止我不明白:如果您在打印之前收集內容,gc中會沒有任何內容? – Bob5421
'import gc; gc.get_objects()' –
sys.ps1/sys.ps2控制標準Python REPL中的提示:https://docs.python.org/3/library/sys.html?highlight=sys#sys.ps1 – MatsLindh
謝謝。我曾嘗試過,但禁止導入 – Bob5421