What's New in SymLevel C++ Debugger

What’s new in SymLevel C++ Debugger 1.7

Displaying values of the std::chrono types

Now you can see values of the std::chrono types in human-readable form.

SLDB displays values of the std::chrono::duration types in the normalized form (months, days, hours, etc.). You can also see duration values in different time units.

There is a special handler for the std::chrono::system_clock type that displays values of associated time points in human-readable time format. You can also see distinct units of a system clock time point.

Displaying values of match results of regular expressions

SLDB displays values of the std::sub_match types as strings, and values of the std::match_results types as standard containers of the std::sub_match items. With this features, you can see matching results as a container of strings.

Small improvements

  • step-through-regexp setting in debugger terminal
  • DEB/RPM installers for Linux and DMG installer for Mac OS
  • Apple M1 architecture support for Mac OS

Bug fixes

  • Fixed bugs in displaying values of the std::function type and lambdas for new compilers
  • Fixed bug in displaying values of the std::string type from libc++ on Mac OS
  • Fixed formatting of base clases
  • Fixed small bugs in Locals and Watch panels in the standalone debugger
  • Fixed critical bug in resolving dynamic class types

What’s new in SymLevel C++ Debugger 1.6

Displaying values of pointers and addresses of structures

Usually, in daily debugging, you don't need to know the values of C++ pointers and the addresses of C++ structures. However, sometimes that's necessary. In the 1.6 version, you can turn it on or off regarding your current situation and needs.

You can switch displaying the values of pointers and the addresses of structures in the context menu of the Locals and Watch panels in the standalone debugger. In the VS Code extension, it can be turned off or on using special parameters in the launch configuration of the target.

Launching without debugging on Android devices or emulator from the VS Code extension

Now you can launch in one click target application on an Android device or emulator from VS Code. The only thing you need is just to select the “Run Without Debugging” item from the VS Code menu. The VS Code extension will launch an application with parameters specified in launch configuration in settings.

Displaying correct position in source code on assertion failures in VS Code extension

When assertion failure occurs in a process being debugged, the VS Code extension automatically selects the active call stack frame so that the current source code position points to the place of assertion failure but not into system calls.

Adding and changing breakpoints while the debuggee process is running in the standalone debugger

Now you can add, remove or modify breakpoints in the standalone debugger while the debuggee process is running. You don’t need to interrupt and resume the process manually. It will be done automatically.

Small improvements

  • Improved performance of formatting variable values
  • Implemented correct formatting of parameter values in call stack
  • Added support of displaying debugger log in the output panel in VS Code extension
  • Small UI improvements in the standalone debugger

Bug fixes

  • Fixed debugger terminal input for remote platforms in the standalone debugger
  • Fixed bug in handling parameters of the expr debugger command
  • The debugger now correctly stops lldb-server after a debuggee process is stopped on an Android device or emulator
  • Removed console windows for launching Android platform utilities on the Windows platform