FLEX vs Perl Debugger
FLEX
engineering.flipboard.comPerl Debugger
perldoc.perl.orgSide by side
| Figure | FLEX | Perl Debugger |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | — | Yes |
| iOS | Yes | — |
| Plans published | 1 | 1 |
| Spec score · Debuggers | 8.5 (#4) | 8.5 (#5) |
| Purpose | FLEX is an in-app debugging and exploration tool for iOS development. | The Perl source debugger runs scripts interactively and lets users inspect source, set breakpoints, get stack backtraces, and change variable values. |
Plans
In their own words
FLEX
FLEX is a free, open-source debugging and exploration library for iOS applications. It runs inside the app and places a toolbar in a window above it, allowing developers to inspect and change application state without an LLDB or Xcode connection or a remote debugging server. The tool can inspect view hierarchies, find live heap objects, show and modify properties and ivars, and call methods. Its network history covers NSURLConnection and NSURLSession requests with timing, headers, and responses. Developers can browse app bundles and sandboxes, inspect SQLite and Realm databases, and view or edit NSUserDefaults values, including strings, numbers, arrays, and dictionaries. FLEX works in the iOS Simulator and on physical devices, supports Objective-C and Swift, and requires an iOS 9-or-later target. Installation options include CocoaPods, Carthage, Buck, manual Xcode integration, and Swift Package Manager.
Perl Debugger
Perl Debugger is an interactive debugger included with Perl, not a separate program. Running Perl with the `-d` flag loads the debugger and adds source information, allowing users to inspect code, set breakpoints, view stack backtraces, and change variable values. The program must compile correctly before debugging.
Debugger commands support stepping into subroutine calls, stepping over them, and tracing execution. Conditional breakpoints and watches on global expressions can pause a run when specified conditions or changes occur. The `x` command can pretty-print nested data; displaying lexical variables requires PadWalker version 0.08 or higher. Options can be set interactively, through `PERLDB_OPTS`, or in `.perldb` files. Documentation also describes a GUI option through Devel::ptkdb. The debugger does not provide stack-frame information for functions not compiled by Perl, such as C or C++ extension functions, and compile-time executable statements are not stopped, though some can be traced with AutoTrace. Perl is listed for Linux, macOS, and Windows, and the debugger is free.