-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add plugin system #244
base: master
Are you sure you want to change the base?
add plugin system #244
Conversation
luadebug使用frida的意义是? |
之前说的,cfuntion的信息查询不再使用外部程序,改成frida来提供具体信息. 而且我这个还有一个luajit的jit功能的支持,需要frida来支持 |
由于调试器的特性,很多人使用调试器的方式是将luadebug编译到调试目标中。所以我不希望luadebug引入太多额外的代码。 首先引入动态库就不可行,其次frida的代码太多,整个加到luadebug不可以,如果真的需要某些功能,可以将特定部分的代码编译到luadebug里。 |
然后查看cfunction信息的功能,其实我现在觉得它挺鸡肋的。首先当调试release模式的程序的时候,它可能会展示错误的信息。然后展示的信息量太多,函数名和文件名都有可能很长,长到vscode显示不完。 至少对我个人而言,我现在想有个不看这个cfuntion信息的选项。 |
如果是这样的目标,我期望可以添加一个简单的插件功能,从而解耦这些次要功能 |
这个可以依赖vscode自身提供的延迟加载变量功能,我改天加一个 |
这个也解决不了太长无法显示的问题,可能把函数信息移到子项里更好,就像upvalue那样。 |
就你说的两个功能,解析函数符号信息,把代码直接编译到luadebug,我觉得是可以的。而luajit需要的特性,我不知道是什么。luadebug现在的整体思路是不hook调试目标,需要hook的地方都是直接修改调试目标的代码来做到的,这和luadebug会和调试目标打包一起编译的思路是契合的。也许用hook的方式也能做类似的事情,但是这就是另一个lua调试器了。 |
延迟绑定launcher,为了之后可以把frida模块改成动态库,让luadebug中可以使用,而不必使用两份frida代码在一个进程内