CodeDynamics Features

CodeDynamics supports these key technologies:

C and C++ debugging and troubleshooting

C and C++ allow control over data, access patterns, memory management, and execution. But direct control over behavior leaves little margin for error when building and maintaining scalable applications. CodeDynamics provides the environment for troubleshooting C and C++ applications, featuring detailed views of objects, data structures, and pointers.

The standard template library (STL) collection classes simplify manipulation of program data, but complicates troubleshooting when your program crashes. CodeDynamics type transformation facility (TTF) provides alternate displays for data objects. STLView transformations includes a logical view of STL collection class objects, for a more useful view of list data. The result is a simplified, intuitive view into the structure of your data.

Data visualization for understanding application behavior, computational data, and patterns

Troubleshooting involves exploring the behavior of a live application, looking for clues as to why the computation is not proceeding as expected, slicing the data presented in different ways to uncover patterns. It is critical that you have the tools that make it easy to view and manipulate that data, and CodeDynamics helps streamline this process.

Debugging memory leaks and malloc errors

Memory, as a limited resource, has a significant impact on your application. As program complexity grows, memory leak debugging and troubleshooting malloc errors become more difficult. Memory-related code defects cause out-of-control resource and random data corruption. Memory errors manifest themselves as random program crashes. In a worst-case scenario, memory errors result in corrupted data causing programs to generate inaccurate results. CodeDynamics helps you manage that risk by finding memory corruption.

Multithreaded applications / multicore architectures

Processor architectures are characterized by multicore and many-core designs. Building a multithreaded application or transitioning from a serial to a parallel application presents challenges. CodeDynamics is built to help manage the challenges presented by parallelism.

Race conditions are a common problem. Using locks, semaphores, and atomic operations help avoid race conditions, but introduce subtle problems. Our tools provide visibility into the behavior of your code, increasing your understanding of the impact of these problems.

Unattended batch debugging

CodeDynamics includes a scripting language, TVScript. Define a series of events that may occur, and TVScript loads the program, sets breakpoints, and runs the program. At each program stop, TVScript gathers data in output files for review after the job has completed. TVScript has been likened to printf on steroids.

Learn more about our capabilities.