[View]  [Edit]  [Lock]  [References]  [Attachments]  [History]  [Home]  [Changes]  [Search]  [Help] 

[U8] Debugging

Step by step execution of S8 expressions

The [UI8] UI8Steps tool is an step by step execution tool used to watch the changes in the systems while tracing execution of an expression.
The core of the tool is a (step by step) execution framework and an user interface to render the context of execution at each step.
The user interface can be opened on an Internet navigator to watch execution in the web page, or can be connected to a remote S8 System to execute on other S8 System.
The step by step execution is NOT dependent of the native language nor the execution environment (e.g. no dependence on virtual machine used to run your objects). The Steps tool UI can connect to any other S8 environment where the execution framework will be installed and run evaluating an expression.

Low level (Remote) debugger

The [UI8]UI8Debugger - Chrome extension

For S8 systems running using javascript's V8 virtual machine we use the Chrome DevTools Protocol to instrument, inspect, debug and profile S8 Smalltalk systems.
Many existing projects currently use the protocol.
The Chrome team maintains its API.
We implemented wrappers for the (complete Chrome) API and all the code implementing U8 debugger client is S8 Smalltalk code (MIT licensed).

See details on how to use the debugger in [UI8]UI8Debugger.

Debugging S8 servers running on top of Node.js machinery

Our Node framework let us implement 100% S8 Smalltalk servers.
The node.js machinery support the --inspect argument to setup and open an inspection interface on the system.
When the S8 server is started with --inspector it can #halt to enter debugger and can be [PAUSED] at any time entering the server code at the instant of interruption.
We can debug the S8 server remotelly with the [UI8]UI8Debugger, that will show the UI for S8 code and/or javascript functions depending on the context of debugging.

Debugging S8 native android applications

Native android applications developed with node8 platform can be debugged remotelly with [UI8]UI8Debugger from desktop.
Read more here: How to debug S8 native android applications?