add plugin system
延迟绑定launcher,为了之后可以把frida模块改成动态库,让luadebug中可以使用,而不必使用两份frida代码在一个进程内
luadebug使用frida的意义是?
luadebug使用frida的意义是?
之前说的,cfuntion的信息查询不再使用外部程序,改成frida来提供具体信息.
而且我这个还有一个luajit的jit功能的支持,需要frida来支持
由于调试器的特性,很多人使用调试器的方式是将luadebug编译到调试目标中。所以我不希望luadebug引入太多额外的代码。
首先引入动态库就不可行,其次frida的代码太多,整个加到luadebug不可以,如果真的需要某些功能,可以将特定部分的代码编译到luadebug里。
然后查看cfunction信息的功能,其实我现在觉得它挺鸡肋的。首先当调试release模式的程序的时候,它可能会展示错误的信息。然后展示的信息量太多,函数名和文件名都有可能很长,长到vscode显示不完。
至少对我个人而言,我现在想有个不看这个cfuntion信息的选项。
由于调试器的特性,很多人使用调试器的方式是将luadebug编译到调试目标中。所以我不希望luadebug引入太多额外的代码。
首先引入动态库就不可行,其次frida的代码太多,整个加到luadebug不可以,如果真的需要某些功能,可以将特定部分的代码编译到luadebug里。
如果是这样的目标,我期望可以添加一个简单的插件功能,从而解耦这些次要功能
然后查看cfunction信息的功能,其实我现在觉得它挺鸡肋的。首先当调试release模式的程序的时候,它可能会展示错误的信息。然后展示的信息量太多,函数名和文件名都有可能很长,长到vscode显示不完。
至少对我个人而言,我现在想有个不看这个cfuntion信息的选项。
这个可以依赖vscode自身提供的延迟加载变量功能,我改天加一个
然后查看cfunction信息的功能,其实我现在觉得它挺鸡肋的。首先当调试release模式的程序的时候,它可能会展示错误的信息。然后展示的信息量太多,函数名和文件名都有可能很长,长到vscode显示不完。 至少对我个人而言,我现在想有个不看这个cfuntion信息的选项。
这个可以依赖vscode自身提供的延迟加载变量功能,我改天加一个
这个也解决不了太长无法显示的问题,可能把函数信息移到子项里更好,就像upvalue那样。
由于调试器的特性,很多人使用调试器的方式是将luadebug编译到调试目标中。所以我不希望luadebug引入太多额外的代码。 首先引入动态库就不可行,其次frida的代码太多,整个加到luadebug不可以,如果真的需要某些功能,可以将特定部分的代码编译到luadebug里。
如果是这样的目标,我期望可以添加一个简单的插件功能,从而解耦这些次要功能
就你说的两个功能,解析函数符号信息,把代码直接编译到luadebug,我觉得是可以的。而luajit需要的特性,我不知道是什么。luadebug现在的整体思路是不hook调试目标,需要hook的地方都是直接修改调试目标的代码来做到的,这和luadebug会和调试目标打包一起编译的思路是契合的。也许用hook的方式也能做类似的事情,但是这就是另一个lua调试器了。