meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
gdb [2018/05/15 12:52] niziakgdb [2025/05/28 07:16] (current) – [stepping] niziak
Line 1: Line 1:
 +====== GDB ======
 +
 ====== Starting  ====== ====== Starting  ======
 <code> <code>
Line 48: Line 50:
   * cond[ition] 1 <expr> - stop at breakpoint 1 only if <expr> is true   * cond[ition] 1 <expr> - stop at breakpoint 1 only if <expr> is true
   * cond 1 - Remove condition from breakpoint 1   * cond 1 - Remove condition from breakpoint 1
 +
 +Add to C code to catch timing critical issues:
 +<code c>
 +if (p_queue->p_cb->locked) {
 +  __BKPT(8);
 +}
 +</code>
  
 ==== stepping ==== ==== stepping ====
-  * s [tep] - step to next **source** line 
-  * c [ontinue] <num_to_ignore> 
-  * n [ext] - step (do not enter to subroutines) 
-  * fin [ish] - execute until stack frame returns 
-  * u [ntil] <line number> - execute to line (to avoid loops) 
  
 +  * **s** [tep] - step to next **source** line
 +  * **c** [ontinue] <num_to_ignore>
 +  * **n** [ext] - step (do not enter to subroutines)
 +  * **fin** [ish] - execute until stack frame returns
 +  * **u** [ntil] <line number> - execute to line (to avoid loops)
 +  
 +Skip current command:
 +<code>
 +tbreak +1
 +jump +1
 +</code>
 ==== infos ==== ==== infos ====
   * show debug-file-directory   * show debug-file-directory
Line 120: Line 135:
 </file> </file>
  
 +<file>
 +# Add GDB access to mem range where VTOR is located
 +mem 0xE0000000 0xE00FFFFF
 +
 +define bootapp
 +  monitor reset halt
 +  # Adjust VTOR (Vector table offset register)
 +  set {int}0xE000ED08 = &exception_table
 +  # Set SP/PC to the values from the actual vector table
 +  set $sp = *(int*)&exception_table
 +  set $pc = *((int*)(&exception_table)+1)
 +end
 +</file>
 ==== symbols ==== ==== symbols ====
   * set symbol-reloading on   * set symbol-reloading on