# Overview Debugging your AGL application is based on the GNU Project Debugger ([GDB](https://www.gnu.org/software/gdb/)). In order to use GDB, you must use `xds-gdb` as a wrapper on GDB to cross-debug your application. For information on `xds-gdb`, see the "[Client Part](./client-part.html)" topic. Using `xds-gdb` allows you to debug an application built with XDS without the need to install GDB or any cross-tools. XDS supports two debugging models: * Native debugging * XDS remote debugging The default debugging model is XDS remote. To use this model, you must have previously set up the XDS agent and server so that you can cross-debug your application. See the "[Server Part](./server-part.html)" and "[Client Part](./client-part.html)" topics for more information on getting set up. If you want to use the native debugging model, you must define the `XDS_NATIVE_GDB` environment variable. See the "[Configuration](./debug-configuration.html)" topic for information on XDS configuration variables. The remainder of this topic describes [configurations](./debug-configuration.html), using the XDS [command line](./debug-cmd-line.html) to debug, and using an [IDE](./debug-ide.html) to debug.