Visual Studio 有个好用的功能, 可以自定义调试时数据结构的可视化, 利用这个, 可以从 lua_State 结构中获得并显示信息
首先, 将下面代码加到 C:/Program Files/Microsoft Visual Studio 9/Common7/Packages/Debugger/autoexp.dat 文件中, 可以放在最后的 [hresult] 段之前(注意备份)
因为 lua_State 的结构是不可见的, 所以还需要将 lua 源码中定义相关数据结构的头文件放到你的工程中, 具体需要下列文件:
llimits.h
lmem.h
lobject.h
lstate.h
ltm.h
lua.h
luaconf.h
lzio.h
可以放到一个文件夹如 lua_details 下面, 并在你的任何一个源文件中包含 lua_details/lstate.h 编译一次.
现在加如断点开始调试, 是不是可以看到 lua_State 的调试信息了?
参考:
http://lua-users.org/lists/lua-l/2006-10/msg00491.html