Chapter 4. API Guides
You will be also able to see that LED is changing the state after each click to "Resume"program execution.
Read more about breakpoints under
Breakpoints and watchpoints available
and
What else should I know about break-
points?
Halting the target manually
When debugging, you may resume application and enter code waiting for some event
or staying in infinite loop without any break points defined. In such case, to go back to debugging mode, you can
break program execution manually by pressing "Suspend"button.
To check it, delete all breakpoints and click "Resume". Then click "Suspend". Application will be halted at
some random point and LED will stop blinking. Debugger will expand tread and highlight the line of code where
application halted.
Fig. 31: Target halted manually
In particular case above, the application has been halted in line 52 of code in file freertos_hooks.c Now you
can resume it again by pressing "Resume"button or do some debugging as discussed below.
Stepping through the code
It is also possible to step through the code using "Step Into (F5)"and "Step Over
(F6)"commands. The difference is that "Step Into (F5)"is entering inside subroutines calls, while "Step Over
(F6)"steps over the call, treating it as a single source line.
Before being able to demonstrate this functionality, using information discussed in previous paragraph, make sure
that you have only one breakpoint defined at line 36 of blink.c.
Resume program by entering pressing F8 and let it halt. Now press "Step Over (F6)", one by one couple of times,
to see how debugger is stepping one program line at a time.
If you press "Step Into (F5)"instead, then debugger will step inside subroutine calls.
In this particular case debugger stepped inside gpio_set_level(BLINK_GPIO, 0) and effectively moved to
gpio.c driver code.
Espressif Systems
1398
Release v4.4
Submit Document Feedback
Need help?
Do you have a question about the ESP32-S2 and is the answer not in the manual?