Опитвам се да отстраня грешки в програма с помощта на arm-none-eabi-gdb и преминавам през нея. Има прекъсване, USB0_Handler, в което не искам да влизам, докато стъпвам на програмата. За да постигна това, опитах да използвам skip, но не проработи, дори ако се опитам да пропусна функцията или да пропусна целия файл (съдържащ прекъсването). Използвам openocd, за да постигна отдалечено отстраняване на грешки на tm4c123gh6pm.
Стигнах до точка, в която не знам дали трябва да дефинирам gdb функция или пропускам точка. Ето изхода от моя терминал:
(gdb) info skip
Num Type Enb What
1 function y USB0_Handler
(gdb) c
Continuing.
Breakpoint 2, relayTask () at ./relay.c:191
191 nextTime = rtcGetTimeIn(DEFAULT_REFRESH_RATE);
(gdb) n
USB0_Handler () at ./UsbConfig.c:326
326 {
(gdb) n
332 ui32Status = MAP_USBIntStatusControl(USB0_BASE);
(gdb) n
337 USBDeviceIntHandlerInternal(0, ui32Status);
(gdb) n
338 }
(gdb) n #returning at the top of USB0_Handler
326 {
UsbConfig.c
, което трябва да отстраните, може би едно решение би било да се гарантира, че е компилиран без информация за отстраняване на грешки (т.е. без-g
в командния ред на компилатора). - person kaylum   schedule 07.06.2016UsbConfig.c
(без -g или -ggdb), но все още попадам вUSB0_Handler
, докато отстранявам грешки (с новата компилация) - person adriel   schedule 07.06.2016