Advanced debug concepts


A breakpoint suspends the execution of a program at the location where the breakpoint is set. By default, SDK sets breakpoints at main( ) and exit( ) functions. When you start a debug session, the processor stops at the start of the main( ) function of the program. There are two types of breakpoints used by the debugger:


A watchpoint suspends the execution of a program at the location where the read or write access condition is set. Each processor provides a limited set of hardware watchpoints. In the case of MicroBlaze processors, this is configurable and set by the hardware developer. There are read and write watchpoints used for monitoring read and write data access patterns of the processor, respectively. The condition can be based on data address access addresses or data access patterns, or a combination of both.

Safe-mode debugging

During program debugging, it is sometimes unknown which part of the code is behaving incorrectly or where to set breakpoints. SDK provides a safe mode of debugging that can help you locate the problem or narrow down the search of locating the buggy software. The debugger traps the program execution by looking for critical errors and exception conditions. Looking at the stack trace of the stopped program or register values should help you identify the problem. For MicroBlaze processors, Xilinx recommends that you enable most exceptions when building the hardware system.

Related concepts
Debug overview

Copyright © 1995-2010 Xilinx, Inc. All rights reserved.