My Toy Lua Debugger

来源:互联网 发布:淘宝双十一总销售额 编辑:程序博客网 时间:2024/06/15 10:15

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://kneo.blogbus.com/logs/24242949.html

地址:

http://code.google.com/p/lua-debugger/

第一个版本的图形界面截图:

点击查看原始尺寸

最新的界面:

点击查看原始尺寸

缘起: 

做 这个东西的源起是一次看几个包含coroutine的Lua小脚本,结果被几个coroutine绕来绕竟然没绕明白……于是打算找一个调试器。我的需求 很简单,能单步跟踪,设断点就差不多了。结果试了好几天没试到一个有用的,最后下了一个共享的IDE Decoda,花了一个小时,算是调试清楚了。而这个Decoda,虽然功能似乎还可以,但我想还远远没到能让人愿意为之付钱的地步,和其他开发语言的调 试器也实在没的比。所以当时有想法自己做一个。对我来说,能单步调试就可以了。

但当时并没有动手。因为很久没写代码了,Lua又不怎么熟,所以很没自信。

第二天是星期一,起床有些不舒服,顺便就请了一天假。到下午有些蠢蠢欲动,所以开始尝试了。没想到按照我的思路,实现竟然非常简单(当然也多亏了Lua本身提供的调试机制)。到晚上已经把远程调试的server端写好了,客户端写了个命令行的东西。

图形界面的出现,也比我预期的早很多。因为我不熟悉UI领域,感觉比较简单的是wxPython,所以找了找wxPython的Demo,把里面的一个editor代码改了改,竟然凑出了一个UI……后果是熬夜熬到早上5点,又请了一天假。

所以这个原型,可以说是一天开发出来的。虽然代码上的工作并不多,甚至可以说缓慢。但是能做出一个可用的东西,已经令我很满意了。

后 面完善的工作,却令人无奈。搞GUI开发就是在消耗生命——无穷无尽的细节。本来我一向只喜欢原生风格的桌面应用程序,对HTML/AJAX、 Flash、Java/SWING之类的东西都很讨厌(这也是为什么我选择wxPython的一个原因)。但我确实有必要多学习下Flex/WPF的东西 了。

最终(或许用这个词还太早了)的结果,是这么一个调试器。功能很受限,算不上真正的调试器。但是它可以单步跟踪、设置断点、查看变量, 所以从教学目标上讲,还是有点价值的。至少以后碰到那种几个coroutine你来我往的小脚本,可以用来帮助理清逻辑——这毕竟是我的本意。希望对正在 学习Lua或者Python或者wxPython的朋友略有帮助,虽然我从不幻想世界上会有人试用它。

后面的工作还很多,哪便只是修BUG(issue list上问题不少)。希望自己能渐渐对这个东西失去兴趣——实在不想把时间浪费在这里了。



补充:
code : svn checkout http://lua-debugger.googlecode.com/svn/trunk/
python安装python-2.7.msi的 并要安装wxPython2.8-win32-unicode-2.8.12.1-py27.exe
运行 lua-debugger\wx\ToyLua.pyw,就能运行了!

原创粉丝点击