Project1

标题: 如何调试游戏脚本 [打印本页]

作者: eticwu    时间: 2015-5-23 16:47
标题: 如何调试游戏脚本
请教各位有经验的朋友,有什么工具可以单步调试我们的游戏脚本吗?
每次都在脚本中做输出实在是很麻烦
作者: taroxd    时间: 2015-5-23 17:31
本帖最后由 taroxd 于 2015-5-23 17:40 编辑

给你一个来自Ruby文档的例子。不过一般来说Ruby不怎么需要单步调试。有一些好用的调试gem但是放到RGSS就不太方便

RUBY 代码复制
  1. class Test
  2.   def test
  3.     a = 1
  4.     b = 2
  5.   end
  6. end
  7.  
  8. set_trace_func proc { |event, file, line, id, binding, classname|
  9.   printf "%8s %s:%-2d %10s %8s\n", event, file, line, id, classname
  10. }
  11. t = Test.new
  12. t.test
  13.  
  14. __END__
  15.  
  16. 下面是输出:
  17.  
  18. c-return F:/Documents/test.rb:8  set_trace_func   Kernel
  19.     line F:/Documents/test.rb:11                    
  20.   c-call F:/Documents/test.rb:11        new    Class
  21.   c-call F:/Documents/test.rb:11 initialize BasicObject
  22. c-return F:/Documents/test.rb:11 initialize BasicObject
  23. c-return F:/Documents/test.rb:11        new    Class
  24.     line F:/Documents/test.rb:12                    
  25.     call F:/Documents/test.rb:2        test     Test
  26.     line F:/Documents/test.rb:3        test     Test
  27.     line F:/Documents/test.rb:4        test     Test
  28.   return F:/Documents/test.rb:5        test     Test


set_trace_func 的详细用法请参考 Ruby 文档(非 F1)
作者: eticwu    时间: 2015-5-23 17:40
谢谢,这个方法只能查看调用栈信息,
但还是没有办法断点调试并查看变量值,这样来得更方便
不知道是不是可以导入Ruby IDE,如果可以的话,能不能推荐一款好用的IDE及导入方法

作者: taroxd    时间: 2015-5-23 18:11
本帖最后由 taroxd 于 2015-5-23 18:16 编辑
eticwu 发表于 2015-5-23 17:40
谢谢,这个方法只能查看调用栈信息,
但还是没有办法断点调试并查看变量值,这样来得更方便
不知道是不是可 ...


Ruby 没什么 IDE,有也不能查看变量值。大部分 Ruby 使用者都是不用 IDE 的

至于你要的功能,就是我楼上用线划掉的东西…… 比如用 pry (gem)可以看。不过 VA 要用 gem 还是不方便的。虽然说简单地写个查看变量的功能倒不是什么难事。

谢谢,这个方法只能查看调用栈信息

看到 binding 参数了么?那个参数里包含了所有的变量值。用法还是请参考文档。

[line]1[/line]

另外,我自己是不用这个方法的,因为实在没什么必要。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1