The Vitis tools supports typical software debugging for the host code at all times, and the linked system project when running in software emulation mode (and also at points during hardware emulation). This is a standard software debug flow using breakpoints, stepping through code, analyzing variables, and forcing the code into specific states.
The following figure shows the debug flow during software emulation for the
host and kernel code (written in C/C++ or
using the GNU debugging (GDB) tool. Notice the two instances of GDB to separately debug
the host and kernel processes, and the use of the debug server (
xrt_server) to connect to the system project.
AMD recommends iterating through the design as much as possible in software emulation, which takes little compile time and executes quickly. For more detailed information on software emulation, see Software Emulation.