Cannot correctly jump to next line in some files when debug with openocd/gdb
Posted: Mon Feb 20, 2017 6:06 pm
I used the following example to debug.
examples/protocols/http_request
I can set the breakpoint to app_main and it indeed stops at this breakpoint.
It's also ok to jump to the next line nvs_flash_init() and initialise_wifi().
But when I set the breakpoint to other file, for example lwip_socket
It can stop at lwip_socket without any problem.
However, I can't jump to the next line, it's always switching to other thread and stop at queue.c.
How can I do?
Thanks
examples/protocols/http_request
I can set the breakpoint to app_main and it indeed stops at this breakpoint.
It's also ok to jump to the next line nvs_flash_init() and initialise_wifi().
Code: Select all
Breakpoint 1, app_main ()
at /esp/esp-idf/examples/http_request/main/./http_request_main.c:176
176 {
(gdb) n
esp32.cpu0: Target halted, pc=0x40107883
177 nvs_flash_init();
(gdb) n
esp32.cpu0: Target halted, pc=0x40101C38
esp32.cpu0: Target halted, pc=0x40107886
178 initialise_wifi();
It can stop at lwip_socket without any problem.
However, I can't jump to the next line, it's always switching to other thread and stop at queue.c.
How can I do?
Thanks
Code: Select all
(gdb) hb lwip_socket
Hardware assisted breakpoint 2 at 0x40109ee4: file /esp/esp-idf/components/lwip/api/sockets.c, line 1456.
(gdb) c
Continuing.
esp32.cpu0: Target halted, pc=0x40109EE4
[New Thread 1073548372]
[Switching to Thread 1073548372]
Breakpoint 2, lwip_socket (domain=1073454564, type=99992, protocol=0)
at /esp/esp-idf/components/lwip/api/sockets.c:1456
1456 {
(gdb) n
esp32.cpu0: Target halted, pc=0x400833E3
Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 1073541912]
0x400833e3 in xQueueGenericReceive (xQueue=0x3ffccc7c, pvBuffer=0x3ffcf270,
xTicksToWait=4294967295, xJustPeeking=0)
at /esp/esp-idf/components/freertos/./queue.c:1594
1594 portYIELD_WITHIN_API();
(gdb)