|An application outputs an incorrect value. To determine what went wrong you typically have to restart the whole debugging session to step into the routine.
||Using our unique ReplayEngine capability, during the same debugging session you can easily step back to the point just before a method call and then follow execution into the method to determine the cause of the error, and exactly where it occurred.
|When an application incorrectly writes memory it can overwrite the stack frame and crash the program. This will typically yield an invalid stack trace, giving the developer no clue where the application actually crashed.
||Step backwards at the point of the crash to see the stack trace and reconstruct and reveal the point of the crash as well as the data that caused it to crash.
|Setting breakpoints at the thread level, controlling individual threads, and switching between the threads to understand their states is cumbersome, time-consuming, and does not allow enough granular control.
||Our user interface gives you a clear view of the running threads in the application, their current state, and where they may be stopped in the code. You can easily switch the analysis context from one thread to another by simply diving in on a new thread.
You can set breakpoints down to the individual thread level for fine-grained control over the execution of a thread. You can also individually control the stepping actions on a per thread basis.
|You want to see STL container classes such as vector, list, map, and sets as conceptual representations of the data versus their low-level implementations.
||Automatically detect STL and Boost containers to transform them into an easily understood conceptual view. For example, with CodeDynamics a linked list will be shown as a simple array of the values rather than the underlying linked node implementation.
|Start dynamic analysis on a target executable or a running executable. IDE debuggers such as Eclipse or NetBeans require the overhead of maintaining a project and configuring the debug launch of the target executable.
||Quickly start dynamic analysis on a new target, or attach to a running executable.