dbx is an interactive, source-level, command-line debugging tool. You can use it to run a program in a controlled manner and to inspect the state of a stopped program. dbx gives you complete control of the dynamic execution of a program, including collecting performance and memory usage data, monitoring memory access, and detecting memory leaks.
You can use dbx to debug an application written in C, C++, including the C++11 and C11 standard, or Fortran. You can also, with some limitations (see Limitations of dbx With Java Code), debug an application that is a mixture of Java code and C JNI (Java Native Interface) code or C++ JNI code.