Skip to content

Features and Benefits

Gary edited this page Feb 19, 2015 · 3 revisions

SLED offers a powerful suite of features.

Table of Contents

Creating/Editing Scripts

  • Creating and editing Lua scripts
  • Syntax highlighting
  • Syntax checking
    • Can toggle on/off

Debugging

  • Set breakpoints (and stop on them)
  • Conditional breakpoints
  • Save and load breakpoints within a project
  • Run developer entered Lua commands while stopped on breakpoints
  • Step through code line-by-line once a breakpoint is hit
  • Step over/step into/step out once a breakpoint is hit
  • Start, stop, and resume script execution at any time
  • Software breakpoints from Lua or C/C++
  • Lua assert function
  • Display callstack of Lua code while debugging
  • Ability to view, modify, and watch global/local/upvalue/environment table variables while debugging (including table and/or subtable values)
  • Per Lua state debugging and Lua state GUI if using more than one state

Profiling

  • View basic profiling information
    • Total time spent in function, average time spent in function, shortest time spent in function, longest time spent in function
  • Tree view showing function calls (function call graph)
  • Memory tracer (see allocations and deallocations)

User Interface

  • Easy project creation
  • Most-recent-project list
  • Robust find and replace
  • File drag-and-drop support
  • Detect file and project changes that were made outside of SLED
  • Breakpoint window
  • Variable watch window
  • Easily monitor values and identify those that can be changed during debugging
    • Display locals/upvalues/globals/environment table variables (including tables and/or subtables) when stopped at breakpoints
  • Filter Lua global, local, and upvalue variables locally or on the target by lua_t<type> or name
  • TTY window displays contents of Lua's print() function
  • TTY Filters color TTY text or ignore it completely as it comes into SLED, based on keywords and wildcards
  • Support for other scripting languages

Other

  • Direct connection to targets
  • Support custom plugins or toolbars
  • Support custom network plugins
  • Edit and continue feature—reload scripts while connected to a target and debugging
  • Runtime libraries libsleddebugger and libsledluaplugin make no dynamic memory allocations
Clone this wiki locally