|
本篇在讲什么 调试Lua源码 本篇需要什么 对Lua语法有简单认知 依赖Visual Studio工具 本篇的特色 具有全流程的图文教学 重实践,轻理论,快速上手 提供全流程的源码内容 |
对Lua底层一些实现有些疑问,直接看源码思路并不是很清晰,所以想把源码跑起来看一看堆栈,打一下断点
我们需要在VS内新建一个C++的控制台应用

lua官网:传送门
移步到Lua的官网,根据下图的指示,选择需要的Lua版本去下载



解压完成后是下图这个样子的

首先将解压的Lua源码下的src目录全部拷贝到刚才新建的控制台应用目录下,src下是所有Lua相关的头文件和c文件



在解决方案下引入头文件和源文件


右键解决方案内的项目,属性页内的C/C++下的预处理器,添加_CRT_SECURE_NO_DEPRECATE标记,不然生成的时候会报错

在控制台应用的目录下新建测试脚本test.lua,并添加部分lua代码,如下图所示


首先我们并不需要源码中的main入口,所以吧luac.c和lua.c中的main都注释了就可以了


在我们自己的脚本内引入lua的头文件,并新建lua的虚拟机去加载lua脚本

执行后的效果如下图所示

同时我们在对应的逻辑里添加断点已经可以断到了

https://github.com/KingSun5
若是觉得博主的文章写的不错,不妨关注一下博主,点赞一下博文,另博主能力有限,若文中有出现什么错误的地方,欢迎各位评论指摘。