summaryrefslogtreecommitdiffstats
path: root/docs/part-1/debug-overview.md
blob: 25cb30d6ec8dd567ce92dff385490ea762eae8ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 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), using the XDS
[command line](./debug-cmd-line) to debug, and using an
[IDE](./debug-ide) to debug.