【备忘】visual studio调试状态下显示lua调用栈
来源:互联网 发布:八皇后问题java 编辑:程序博客网 时间:2024/05/17 04:06
【备忘】visual studio调试状态下显示lua调用栈
编辑文件:【VS安装目录】/Common7/Packages/Debugger/autoexp.dat,在文件最后[hresult]之上的空白插入以下代码,就可以在 visual studio调试的时候看到lua的调用栈、变量信息了
lua_State { preview ( #( "thread top=", [$c.top-$c.base, i] ) ) children ( #( [raw members]: [$c,!], globals: [$c.l_gt], registry: [$c.l_G->l_registry], stack size: [$c.top-$c.base, i], stack:#array ( expr: $c.base[$i], size: $c.top - $c.base, base: 1 ), callStack Size: $e.ci-$e.base_ci, callStack: #array ( expr: $e.ci[-$i], size: $e.ci-$e.base_ci, ) ) )}Node { preview ( #( $c.i_key.tvk, " = ", $c.i_val ) ) children ( #( key: $c.i_key.tvk, val: $c.i_val, #if( $c.i_key.nk.next != 0 ) ( #( next: $c.i_key.nk.next ) ) ) )}lua_TValue { children ( #switch($c.tt) #case 2 ( ; LUA_TLIGHTUSERDATA ptr: #((const char*)($c.value.p)) ) #case 5 ( ; LUA_TTABLE #( [raw]: [$c,!], array size: $c.value.gc->h.sizearray, #array ( expr: $e.value.gc->h.metatable, size: $e.value.gc->h.metatable != 0, ): #( metatable: $e ), #array ( expr: $c.value.gc->h.array[$i], size: $c.value.gc->h.sizearray, base: 1 ), #array ( expr: #( $c.value.gc->h.node[$i], 2 ), size: (1<<$c.value.gc->h.lsizenode), base: 1 ): #( hash part: $e ) ) ) #case 6 ( ; LUA_TFUNCTION #if ($c.value.gc->cl.c.isC) ( #( env: $c.value.gc->cl.c.env, #array ( expr: $e.value.gc->cl.c.upvalue[$i], size: $e.value.gc->cl.c.nupvalues, ): #( upvalues: $e ) ) ) #else ( #($c.value.gc->cl.l) ) ) #case 7 ( ; LUA_TUSERDATA #( #array ( expr: $e.value.gc->u.uv.metatable, size: $e.value.gc->u.uv.metatable != 0, ): #( metatable: $e ), env: $c.value.gc->u.uv.env, ptr: #((const char*)((&$c.value.gc->u)+1)), size: $c.value.gc->u.uv.len ) ) #case 8 ( #($c.value.gc->th) ) ; LUA_TTHREAD ) preview ( #switch($c.tt) #case 0 ( "nil" ) ; LUA_TNIL #case 1 ( #if ($c.value.b == 0) ( "false" ) #else ( "true" ) ) #case 2 ( ; LUA_TLIGHTUSERDATA #($c.value.p, " lightuserdata") ) #case 3 ( ; LUA_TNUMBER #("#", $c.value.n) ) #case 4 ( ; LUA_TRING #( $c.value.gc->ts) ) #case 5 ( ; LUA_TTABLE #( "table" ) ) ; #case 6 ( #($c.value.gc->cl) ) ; LUA_TFUNCTION #case 6 ( ; LUA_TFUNCTION #if ($c.value.gc->cl.c.isC) ( #($c.value.gc->cl) ) #else ( #( [((const char *) (&($e.value.gc->cl.l.p->source->tsv)+1)),sb],"(" ,*($e.value.gc->cl.l.p->lineinfo),")" ) ) ) #case 7 ( #($c.value.gc->u) ) ; LUA_TUSERDATA #case 8 ( #($c.value.gc->th) ) ; LUA_TTHREAD #default ( "empty" ) ) )}Udata { preview ( #( "userdata size=", $c.uv.len, " ptr=", #((void*)((&$c)+1)) ) )}CClosure { preview ( $c.f )}LClosure { preview ( #([(const char *) (&($e.p->source->tsv)+1),sb] ,"(",*($e.p->lineinfo),")" ) )}Closure { preview ( #if ($e.c.isC) ( #($e.c) ) #else ( #($e.value.gc->cl.l) ) )}Table { children ( #( [raw]: [$c,!], [array size]: $c.sizearray, #array ( expr: $e.metatable, size: $e.metatable != 0, ): #( metatable: $e ), #array ( expr: $c.array[$i], size: $c.sizearray, base: 1 ), #array ( expr: #( $c.node[$i], 2 ), size: (1<<$c.lsizenode), base: 1 ): #( key: $e ) ) ) preview ( #( "table" ) )}TString { preview ( #("'", [(const char *) (&($e.tsv)+1),sb] ) )}CallInfo { preview ( #( $e.func, ",",$e.func->value.gc->cl.l.p->lineinfo[$e.savedpc -$e.func->value.gc->cl.l.p->code-1] ) )}
- 【备忘】visual studio调试状态下显示lua调用栈
- visual studio下调试lua
- 如何在vs (visual studio)调试环境下查看lua的调用栈、变量信息
- 如何在vs (visual studio)调试环境下查看lua的调用栈、变量信息
- visual studio 调试状态下,局部变量窗口不显示某些变量的设置
- C++ 获取当前进程运行目录(visual studio 调试状态下)
- 在 Visual Studio 2008 中开发 lua 的调试技巧
- VSLua:将Lua语言无缝结合到Visual Studio当中 调试lua ,高亮lua
- VSLua:将Lua语言无缝结合到Visual Studio当中 调试lua ,高亮lua
- Visual Studio下建立并显示调用自己的动态链接库dll
- Visual Studio lua 插件
- visual studio下实现图形函数调用
- visual studio c++调试时查看错误状态
- 在Windows visual studio环境下编译Lua
- Visual Studio 不显示SVN 状态图标解决方法
- Visual Studio 技巧(备忘)
- Visual studio如何使用“调用堆栈窗口”查看调试信息
- Visual Studio 2005/2008 调试出现“无法显示该网页”!
- Delta Queue Update Method
- 用MFC写线程
- 湖南第一师范原创题,比较好玩.
- eclipse长时候building workspace
- linux的mount(挂载)命令详解(转)
- 【备忘】visual studio调试状态下显示lua调用栈
- j2me笔记
- hdu 1716 排列2 输出几个数字的全排列
- 27个运动员在参加完比赛后,口渴难耐,去小店买饮料,饮料店搞促销,凭三个空瓶可以再换一瓶,他们最少买多少瓶饮料才能保证一人一瓶
- 【转】TCP3次握手连接协议和4次握手断开连接协议
- css常用技巧
- phpmyadmin无法导入大些文件 及使用配置文件中定义的控制用户连接失败。
- JQuery获取input type="text"中的值的各种方式
- JavaScript创建Applet 标签的属性介绍 以及 Applet调用JavaScript