我的公司有一个程序,它使用Lua嵌入其运行时,从磁盘加载.lua文件并重复执行其中定义的函数.
有没有办法附加到正在运行的进程并在.lua文件中设置断点? (我接受gdb风格的命令行调试作为Lua发行版的一部分,或者也许是提供类似Visual Studio的GUI断点的第三方IDE).
或者是因为运行时从磁盘加载随机文件的性质,我要求的是完全无意义的和不可取的?
编辑:由于Lua自己的debug.getinfo()
功能可以确定给定功能的源文件,而且debug.sethook()
允许为每个新的代码行输入回调,所以看起来并不荒谬.因此,从磁盘加载源代码是有道理的,并且能够告诉解释器何时从该文件执行特定的代码行.问题仍然存在:如何锁定到一个具有Lua解释器的现有进程,并注入我自己的跟踪功能(然后可以监视文件/行号对并暂停执行)?
解决方法
原文地址:https://www.jb51.cc/lua/274610.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。