OpenGL State Variable Selection
New Project Wizard
The New Project wizard will guide you, step by step, in creating a debugged process project from scratch.
Application settings
Select the executable to be debugged, the working directory, and the command line arguments.
OpenGL settings
Select OpenGL frame terminators and breakpoints.
OpenCL settings
Select OpenCL frame terminators and breakpoints.
Add/Remove Breakpoints Dialog
The Breakpoint dialog lets you choose OpenCL and OpenGL API function breakpoints, as well as kernel function name breakpoints.
Breakpoints added this way will be added to the Breakpoints view.
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, letting 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 get right into kernel debugging without stepping into the clEnqueueNDRangeKernel function call.

Breakpoints
API Functions
The API Functions list contains OpenCL and OpenGL API functions, as well as platform-specific binding (WGL, CGL, GLX, EAGL or EGL) functions supported by gDEBugger.
Kernel Functions
The Kernel Functions list will be filled when an OpenCL application is debugged, to contain the names of all kernel functions that are used by the application.
Error / Warning
Error and Warning breakpoints are special breakpoints that can be set on the occurrance of special events:
- Break on OpenGL error – will be hit whenever an OpenGL function generates an error. The output window will display the error code. Note that if your application uses glGetError for validation, its flow might change with this option on.
- Break on OpenCL error – will be hit whenever an OpenCL function returns an error value. The output window will display the error code.
- Break on Detected error – the gDEBugger OpenCL and OpenGL servers will sometimes detect errors that are not mentioned in the specifications. This breakpoint will be hit when such an error is detected. The output window will display 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 will be hit when such a function is called.
- Break on Memory leak – will be hit when an OpenCL or OpenGL object that has subordinate objects (e.g. a context, an OpenCL program) is released before all its objects were released. Note that while this behavior is legal, it is a bad practice and might also indicate objects not being released (and being left alive during runtime, taking up system resources).
- Break on OpenGL Debug Output – will be hit whenever the GL_ARB_debug_output or GL_AMD_debug_output extensions are used to output a debug message. This extension is supported only on Windows OS.
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
The active breakpoints list contains the currently selected API and kernel function breakpoints. You can Enable/Disable a specific breakpoint by checking / unchecking the checkbox next to the function name. You can also type in kernel function names to add kernels that were not created yet in the application.
Add Breakpoint
To add a breakpoint, select a function / 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 the Remove All button to remove all of the active breakpoints.
Settings
Enable /Disable all Function Breakpoints
Change the enabled status of all active breakpoints.
OpenGL State Variable Selection Dialog
The State Variables dialog lets you choose OpenGL, WGL, CGL and OpenGL extension state variables.
When the debugged process execution is suspended you will be able to see the selected state variables values in the State Variables view.
Available state variables
The available state variables list contains OpenGL, WGL, glX and OpenGL extension variables supported by gDEBugger. Selected variables are highlighted in blue.
Text Filter
Enables filtering the state variables list. Entering multiple values separated by spaces or commas searches for variable names containing all the strings.
State variables
The State variables list lists the currently selected variables.
Add Variable
To add a variable, select a variable / variables from the Available state variables list and add it to the State variables list by double clicking on it or by pressing the Add button.
Remove Variable
To remove a variable, select the variable from the State variables list and remove it by double clicking on it or by pressing the Remove button.
Remove all Variables
Press the Remove All button to remove all of the variables.
Debug Settings Dialog
This dialog allows you to specify settings for the current startup project.
Debug Settings
Executable for Debug Session
The full path to the executable file launched for a debug session.
Working Directory
The working directory of the executable file.
Program Arguments
The debugged application’s command line arguments (optional).
Operating System Environment Variables
The environment variables used for the debugged application (optional). This will be merged into gDEBugger’s environment, overriding any duplicate variables.
OpenCL Frame Terminators
Frame terminators are the functions that end your application computation frame.
Using them enables you to view the log of a single computation frame and not the entire calls log.
Available Frame Terminators are: clFlush, clFinish, cl_gremedy_computation_frame, clWaitForEvents
OpenGL Frame Terminators
Frame terminators are the functions that end your application render frame.
Using them enables you to view the log of a single render frame and not the entire calls log.
Available Frame Terminators are: glFlush, glFinish, glClear, wglSwapBuffers, wglSwapLayerBuffers, wglMakeCurrent, glFrameTerminatorGREMEDY
glFlush
glFlush is usually chosen for single-buffered applications.
wglSwapBuffers / glXSwapBuffers
wglSwapBuffers / glXSwapBuffers is usually chosen for double-buffered applications.
Advanced Settings
Initialize DirectDraw
Check this box if the debugged application uses both DirectDraw and OpenGL to render and is experiencing stability issues when debugged with gDEBugger.
System Information Dialog
The System Information dialog collects computer configuration data and OpenGL implementation details such as: the operating system, memory, graphic card and driver details, monitor details, available pixel formats, available OpenGL extensions, etc.

System View
Collects and displays information about the configuration of your system.
Display View
Collects and displays information about the configuration of your display system.
OpenGL Renderer View
Collects and displays information about the configuration of your graphic accelerator system.
OpenGL Pixel Formats View
Collects and displays information about the supported pixel format on your system.
OpenGL Extensions View
Collects and displays information about the supported OpenGL extensions on your system.
OpenCL Platforms View
Collects and displays information about the supported OpenCL platforms.
OpenCL Devices View
Collects and displays information about the supported OpenCL devices and their capabilities and limits.
Save Button
Exports the System information data from all views to a .csv file
Options Dialog
The Options dialog lets you control program attributes and behavior.
Options – Call Stack Tab
The Call Stack tab lets you specify the source code root location and additional source code directories. This enables the use of the Source Code editor when the debugged application debug info holds partial source code paths and when the debugged application has been built on a different file system structure than your source code file structure.

Additional source code directories:
When specifying additional source code directories, If the source code file is not found at its debug information path, it will searched, by file name only, in the additional source code directories. The search is performed according to the order in which the directories are specified.
The additional source code directories are semicolon separated.
Source code root location:
When specifying a source code root location, the root location is prefixed to each source code file path. Only one source code root location can be specified.
Example:
If the source code root is “D:\Dir1\” and the debug information source code path is “\Dir2\Dir3\MyFile.cpp”, the Source Code editor input path will be “D:\Dir1\Dir2\Dir3\MyFile.cpp”.
Collect Allocated Objects’ Creation Calls Stacks:
Deselect this checkbox if you don’t want gDEBugger to collect the graphic memory allocated objects creation calls stacks (which are displayed in the Memory View). This can improve Debug Mode performance in some cases when many graphic memory objects are allocated.
Options – HTML Log File Tab
The HTML Log File tab lets you control the way the texture images data is logged in the HTML calls log.

Enable Texture images logging in the Calls History HTML log:
When the Enable Texture images logging check box is checked, textures data is saved and displayed in the calls log file.
Textures Data File Format:
You can select the logged texture data file format by choosing the appropriate radio button. Available formats are: JPG, BMP, PNG, TIFF. 3D textures are always stored as tiff images.
Options – Logging Tab
The Logging tab lets you specify the logging limits of various calls loggers, as well as the location where the gDEBugger log files will be saved

Calls Logging:
Set the logging limit for OpenGL API function calls, OpenCL API function calls, and OpenCL queue commands
Log Files:
Log Files and Images Directory
A directory where the API call log files and temporary image and source files are saved.
Options – Connection Tab
The Connection tab lets you control how gDEBugger connects to the internet.

Proxy Settings:
Change these settings if your computer uses a HTTP Proxy.
I am using an HTTP proxy server:
Check this option if your computer connects to the internet through an HTTP proxy. If you are experiencing problems with gDEBugger’s online features (request trial license, check for updates and send error report), changing the proxy settings might be the solution.
Proxy server / Port number:
If you are using a proxy server, please input its information here. The server name could be a DNS address or an IP address. If you are unsure of what your HTTP proxy server or port are, contact your network administrator or copy the settings from your web browser. gDEBugger does not currently support the HTTP_PROXY environment variable.
Options – Advanced Tab
The Advanced tab lets you control the advanced settings of the gDEBugger applicaiton.

Debug log level:
The debug log level is an internal mechanism aimed to help fixing gDEBugger problems. There are three levels for the debug logging:
Error:
Log errors that rise while running gDEBugger.
Info:
Log errors and gDEBugger internal information that rise while running gDEBugger (default logging level).
Debug:
Log gDEBugger debugging information, errors and other internal information that rise while running gDEBugger (for the gDEBugger support team to locate a problem inside gDEBugger).
Extensive:
Log extensive gDEBugger debugging information, errors and other internal information that rise while running gDEBugger (for the gDEBugger support team to locate a problem inside gDEBugger).
Performance counters sample interval:
The number of milliseconds elapsed between performance counters samples.
Floating-point precision:
– The maximum number of significant digits that will be displayed.
Flush log file after every monitored function call:
When the Flush log file after every monitored function call check box is checked, gDEBugger will flush the OpenCL / OpenGL calls history log file after every API function call instead of not use memory cached batches. This feature can help tracking the function call that led to a debugged application crash. Using this feature dramatically slows down the debugged application performance and therefore it is not recommended for regular use.
gDEBugger Menus
File Menu
New Project
Launch the New Project wizard.
Open Project
Select and open a previously saved project file.
Home Page
Display the gDEBugger Home Page.
Save Project
Save the currently active project.
Save Project As
Save the currently active project to a new name or location.
Open File
Select and open a file to display as source in the main MDI window.
Save File
Saves the currently active source file.
Save File As
Save the currently active source file to a new name or location.
Export Images and Data
Save the currently active object view as an image or raw data.
Save all objects as images or raw data.
Save OpenGL state variable values to a file.
Export Statistics
Save the information from various Statistics view tabs to a file.
Recent Projects
Display a list of recently opened projects.
Exit
Quit gDEBugger.
Edit Menu
Cut
Cut the selection in the currently active view to the clipboard.
Copy
Copy the selection in the currently active view to the clipboard.
Paste
Paste the contents of the clipboard to the currently active view.
Select All
Select all the data in the currently active view.
Find
Find a string match in the currently active view.
Find Next
Continue a previous search.
View Menu
Views
Show or hide gDEBugger views.
Toolbars
Show or hide gDEBugger toolbars.
Show Line Numbers
Display line numbers in MDI source views.
Reset GUI Layouts
Reset the frame and view locations to their defaults.
Use this option if a view is indicated to be shown but is not on screen.
Debug Menu
Go / Frame Step / Draw Step / Step Over / Step In / Step Out / Break / Stop Debugging
See the command descriptions in the Debug toolbar section.
Debug Settings
Display the Debug Settings dialog.
Breakpoints Menu
Break on OpenGL Error / OpenCL Error / Detected Error / Deprecated Functions / Memory Leaks / OpenGL Debug Output Extension
Enable or disable Error / Warning breakpoints.
See the breakpoint descriptions in the Breakpoints dialog section.
Enable All Breakpoints
Toggle all selected breakpoints between enabled and disabled.
Load Breakpoints
Load the breakpoints from a previously saved file.
Save Breakpoints As
Save the selected breakpoints to a file.
Add / Remove Breakpoints
Display the Breakpoints dialog.
Tools Menu
Images
See the command descriptions in the Images and Buffers toolbar section.
System Information
Display the System Information dialog.
Options
Display the Options dialog.
Window Menu
Close all Document Windows
Close all MDI source and object views.
Help Menu
View Help
Display the gDEBugger User Guide.
View Tutorial
Display the gDEBugger Tutorial.
Check for Updates
Check for a newer version of gDEBugger and change automatic update check settings.
AMD Developer Tools Support Forum
Open the support forum for gDEBugger in a browser window.
AMD Developer Tools Knowledge Base
Open the knowledge base for gDEBugger in a browser window.
Open a Support Request
Open the support request form to report an issue with gDEBugger in a browser window.
About gDEBugger
Displays information about the installed gDEBugger version.

