My Toy Lua Debugger

2024-01-07 11:18
文章标签 lua toy debugger

本文主要是介绍My Toy Lua Debugger,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

My Toy Lua Debugger

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
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上问题不少)。希望自己能渐渐对这个东西失去兴趣——实在不想把时间浪费在这里了。


随机文章:

用Lua重写了以前的一个C++程序 2008-05-12
为什么我讨厌Ruby 2008-04-29
竟然上水木十大了…… 2008-04-27
我常用的几个Firefox扩展 2008-04-15
终于解决了hha.dll的调用问题 2008-03-23

收藏到: Del.icio.us

http://kneo.blogbus.com/logs/24242949.html

这篇关于My Toy Lua Debugger的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/579736

相关文章

Lua 脚本在 Redis 中执行时的原子性以及与redis的事务的区别

在 Redis 中,Lua 脚本具有原子性是因为 Redis 保证在执行脚本时,脚本中的所有操作都会被当作一个不可分割的整体。具体来说,Redis 使用单线程的执行模型来处理命令,因此当 Lua 脚本在 Redis 中执行时,不会有其他命令打断脚本的执行过程。脚本中的所有操作都将连续执行,直到脚本执行完成后,Redis 才会继续处理其他客户端的请求。 Lua 脚本在 Redis 中原子性的原因

由Lua 粘合的Nginx生态环境

转自:http://blog-zq-org.qiniucdn.com/pyblosxom/oss/openresty-intro-2012-03-06-01-13.html -- agentzh tech-club.org 演讲听录 免责聲明 Lua 粘合的 Nginx 生态环境 2.1. openresty 2.2. 配置小语言 2.3. ngx_drizzle 2.4.

Debugging Lua Project created in Cocos Code IDE creates “Waiting for debugger to connect” in Win-7

转自 I Installed Cocos Code IDE and created a new Lua Project. When Debugging the Project(F11) the game window pops up and gives me the message waiting for debugger to connect and then freezes. Also a

Docker+FastDFS+Lua搭建文件服务器进阶版

使用FastDFS+Nginx+Lua+GraphicsMagick搭建类似淘宝的图片服务器 1、FastDFS安装1.1、镜像下载1.2、开启tracker容器1.3、开启storage容器1.4、测试 2、FastDFS集成Nginx+lua+GraphicsMagick2.1、依赖包下载2.2、安装软件基础包2.3、依赖安装2.4、配置Lua脚本实现图片缩略图2.5、修改nginx.c

【Unity-Lua】音乐播放器循环滚动播放音乐名

前言:Unity中UI节点 图1 如上所示,一开始本来是打算用ScrollView做的,觉得直接计算对应的文本位置就行,所以没用ScrollRect来做,可以忽略Scroll,Viewport这些名字。如下图:需要在一个背景Image组件上添加上Mask组件来显示固定位置的文本显示。 图2 图3 并且需要在要显示的文本上挂载Content Size Filter组件,但是这儿会有个坑

lua data time

local getTime = os.date(“%c”); 其中的%c可以是以下的一种:(注意大小写) %a abbreviated weekday name (e.g., Wed) %A full weekday name (e.g., Wednesday) %b abbreviated month name (e.g., Sep) %B full month name (e.g., Sep

arm linux lua移植

lua: lua home 1.下载lua源码 lua下载 lua-5.3.4.tar.gz 2.解压: tar xvf lua-5.3.4.tar.gz 3.修改makefile and luaconf.h $修改 lua-5.3.4/Makefile #INSTALL_TOP= /usr/local INSTALL_TOP= $(shell pwd)/out #修改安装目录(当前目录/o

如何使用 Lua 脚本进行更复杂的网络请求,比如 POST 请求?

在当今的互联网世界中,网络请求是数据交换的基础。无论是在开发Web应用程序、自动化测试还是进行数据抓取,掌握如何发送网络请求是一项基本技能。Lua,作为一种轻量级、高性能的脚本语言,经常被用于这些场景。本文将详细介绍如何使用Lua脚本进行更复杂的网络请求,特别是POST请求。 Lua脚本在网络请求中的优势 Lua脚本因其简单性和灵活性,非常适合用于编写网络请求。以下是使用Lua进行网络请求

Lua调用C#协程

核心就是先require("xlua.util") 然后就可以通过cs_generator函数将方法传入 例如:mono:StartCoroutine(util.cs_generator(fun)) print("*********Lua调用C# 协程相关知识点***********")--xlua提供的一个工具表--一定是要通过require调用之后 才能用util = requir

新文章 - Lua中的ipair 和 pair的区别 / table

参考博客:  https://blog.csdn.net/W_han__/article/details/51376615 (https://blog.csdn.net/heyuchang666/article/details/51003492)  参考博客:  https://www.jianshu.com/p/4db84cf0d61a(初探 lua 的唯一数据结构 table) ----