The Breakpoint dialog lets you choose OpenCL and OpenGL API function breakpoints, as well as kernel function name breakpoints.
Breakpoints added this way are added as C/C++ function breakpoints to the Visual Studio Breakpoints view. Adding an OpenCL or OpenGL function as a Visual Studio breakpoint (Debug > Breakpoints > New Breakpoint...) adds it to this dialog.
The debugged process execution is suspended when a debugged process thread calls an API function marked as a breakpoint. The process run is suspended before the function is executed; this lets you observe the effect the breakpoint function has on the application behavior.
The debugged process execution is suspended when a kernel with a function name marked as a breakpoint starts executing. This lets you start kernel debugging without having to use the clEnqueueNDRangeKernel function call.
Breakpoints
API Functions |
Contains OpenCL and OpenGL API functions, as well as platform-specific binding functions (WGL, CGL, GLX, EAGL, or EGL) supported by CodeXL. |
Kernel Functions |
When an OpenCL application is debugged, contains the names of all kernel functions that are used by the application. |
Error / Warning |
These are special breakpoints that can be set on the occurrence of special events, such as: · Break on OpenGL error - This is hit whenever an OpenGL function generates an error. The output window displays the error code. Note that if your application uses glGetError for validation, its flow might change with this option on. · Break on OpenCL error – This is hit whenever an OpenCL function returns an error value. The output window displays the error code. · Break on Detected error - The CodeXL OpenCL and OpenGL servers sometimes detect errors that are not mentioned in the specifications. This breakpoint is hit when such an error is detected. The output window displays the error details. · Break on Deprecated function - OpenGL 3.0 and up and OpenCL 1.1 and up include functions and behaviors that are marked as deprecated and must be removed to maintain forward compatibility. This breakpoint is hit when such a function is called. |
Text Filter |
Enables filtering the Breakpoints list. Entering multiple values separated by spaces or commas searches for function names containing all the strings. |
Active Breakpoints |
Contains the currently selected API and kernel function breakpoints. You can Enable/Disable a specific breakpoint by checking / unchecking the box next to the function name. You also can type in kernel function names to add kernels that were not created yet in the application. |
Add Breakpoint |
To add a breakpoint, select one or more functions from the API Functions or Kernel Functions list, and add it to the Active Breakpoints list by double-clicking on it, or by pressing the Add button. |
Remove Breakpoint |
To remove a breakpoint, select the function from the Active Breakpoints list, and remove it by double-clicking on it or by pressing the Remove button. |
Remove all Breakpoints |
Press this button to remove all of the active breakpoints. |
Settings
Enable /Disable all Function Breakpoints
This section describes how to change the enabled status of all active breakpoints.