drg(发音为“drago”)是一个强调可编程性的调试器。drg公开程序中的类型和变量,以便在Pytho中轻松、富有表现力地编写脚本。例如,你可以调试Liux内核:
>>>fromdrg.helpers.liuximportlist_for_each_etry>>>formodilist_for_each_etry('structmodule',...prog['modules'].address_of_(),...'list'):...ifmod.refct.couter>10:...prit(mod.ame)...(char[56])"sd"(char[56])"evdev"(char[56])"i915"尽管 GDB 等其他调试器具有脚本支持,但drg的目标是使脚本编写尽可能自然,使调试感觉就像编码一样。这使得它非常适合在大型程序中内省复杂的、相互关联的状态。它还被设计为一个库,可用于构建调试和自省工具;查看官方工具。drg是在 Meta 开发的,用于调试Liux内核(作为崩溃实用程序的替代方案),但它也可以调试用C编写的用户空间程序。C++支持正在进行中。点击空白处退出提示
评论