SES Tracer v1.5
by Solistra and Enelvon
Introduction
This script provides a simple, customizable tracer which can be used as a debugger or information-gathering tool for Ruby code. By default, the output from the tracer shows a visual representation of the Ruby call stack with relevant information. This is primarily a scripting and debugging tool.
Change Log
- v1.5 (April 18th, 2014) - General bug fixes and API improvements.
- v1.4 (April 17th, 2014) - Automatic tracing now accommodates singleton methods.
- v1.3 (April 15th, 2014) - Enelvon added support for automatic method tracing.
- v1.2 (April 11th, 2014) - Updated Tracer.start.
- v1.1 (April 11th, 2014) - Minor API update.
- v1.0 (April 11th, 2014) - Initial release.
Features
- Highly customizable tracing of Ruby code at run-time.
- A default trace formatter displaying the call stack.
- Allows setting of a conditional to filter trace operations.
- Able to trace specified methods whenever they are run.
Screenshot
Spoiler

Usage
The tracer may be started either through a REPL (such as the
SES Console) or from a script call with the following:
Code:
You may also supply your own block of code for the tracer to run by simply passing a proc or lambda object as the argument (or running the block directly on the method):
Code:
- SES::Tracer.start do |event, file, line, id, binding, class_name| file.gsub!(/^{\d+}/, SES::Tracer.scripts[$1.to_i]) if file =~ /^{(\d+)}/ printf("%8s %s:%-4d %20s %-20s\n", event, file, line, id, class_name)end
复制代码
The tracer may be stopped through a REPL or from a script call with the following:
Code:
As of v1.3, you can specify methods that will always invoke the tracer when run through the use of the TRACE_METHODS hash. Its keys are the names of classes and its values are symbols corresponding to methods within the class. By default it will cause command_355 of Game_Interpreter to be traced. This is the "Script..." event command, which (without the help of the Tracer) will produce frustrating errors that point back to the command_355 method itself.
More detailed usage information is available from the source repository where the script is stored.
Script
This script is available from
SES VX Ace.
Installation
Place this script below the SES Core (v2.0) script (if you are using it) and all other custom scripts. This script does not require the SES Core (v2.0), but it is recommended.
Credit and Thanks
Author's Notes
This script is made available under the terms of the MIT Expat license. View
this page for more information.
本贴来自国际rpgmaker官方论坛作者:Solistra处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:
https://forums.rpgmakerweb.com/threads/ses-tracer-trace-code-execution-and-call-stack.26059/