CodeDynamics 2018.2 continues its steady progress forward to add improved debugging features and capabilities so that developers can quickly understand, diagnose, and fix issues in your complex C, C++, Fortran, and Python code.
Let’s take a look at the new features and improvements in 2018.2.
User interface improvements
With this CodeDynamics release, there are several great enhancements that make debugging your applications even easier.
• Set PC: The ability to set the program counter (PC) to a new line location has been added. To change the PC, simply select a valid line in the source code and then choose the Thread | Set PC menu item or simply hit the “p” key.
• Data View improvements: A number of enhancements to better display changing data and data collections during program execution.
• Action Point improvements: Changes to better work with CUDA Unified Breakpoints and showing the accurate state of action points as dynamic code from CUDA kernels or shared libraries have been made to the new UI.
• Multi-process debugging improvements: Various aspects of the new user interface now use the share group of the process in focus for operations and data displayed. For example, only source files and action points related to the current share group in focus are shown. When focus to another process in a different share group is made, the source view and action point view will update to show the related files and action points.
• Bug fixes and improvements: Numerous bug fixes and minor improvements have been made to the new UI.
If you have any feedback about the new user interface, requests for new or missing features, or any problems please send us an email.
Display std::string value without diving
New with 2018.2, CodeDynamics now displays the resulting string value of a std::string without having to dive on the string and view it in the Data view! The string is now displayed in tooltips, in the VAR local variable pane, and other locations where you would expect the string value to be displayed.
QString type transformation
CodeDynamics 2018.2 automatically transforms instances of type QString in Qt 4 and Qt 5 applications. You are no longer required to locate and manipulate the underlying character data to a human-friendly format. CodeDynamics now does it for you.
Shared library unified display improvements
With the 2018.2 release, CodeDynamics improves on the ability to easily set action points within applications that dynamically load shared libraries with dlopen. In this case, until the shared library code is loaded, the information required for setting a breakpoint is not available to the debugger. To address this issue, CodeDynamics now allows setting a breakpoint on any line in the Source View, whether or not it can identify executable code for that line. The breakpoint becomes either a pending breakpoint or a sliding breakpoint until the shared library code is loaded at runtime.
Manage single-stepper skip rules
CodeDynamics now provides the ability to define single-stepper “skip” rules that modify the way source-level single stepping works. These rules identify functions that you are not interested in debugging. Skip rules can be defined to skip over a function or through a function. In skip over cases, the debugger does not step into the function, but rather over it. These are useful for skipping over library functions such as C++ STL code. Skip through rules tell the debugger to ignore any source-line information for the function, so that single stepping does not stop at source lines within the function. If the function being skipped through calls another function, that call is handled according to the original single-stepping operation. Skip through is most useful for callback or thunk functions. For more information and examples, see the documentation for the dskip command in the CodeDynamics Reference Guide.
And there’s more!
Release 2018.2 also brings support for Absoft 18 and numerous bug fixes, and performance improvements!