Rev 958 | Rev 1705 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 958 | Rev 1196 | ||
---|---|---|---|
Line 240... | Line 240... | ||
240 | 240 | ||
241 | printf("Breakpoint table.\n"); |
241 | printf("Breakpoint table.\n"); |
242 | for (i=0; i < BKPOINTS_MAX; i++) |
242 | for (i=0; i < BKPOINTS_MAX; i++) |
243 | if (breakpoints[i].address) { |
243 | if (breakpoints[i].address) { |
244 | symbol = get_symtab_entry(breakpoints[i].address); |
244 | symbol = get_symtab_entry(breakpoints[i].address); |
245 | printf("%d. 0x%p in %s\n",i, |
245 | printf("%d. %p in %s\n",i, |
246 | breakpoints[i].address, symbol); |
246 | breakpoints[i].address, symbol); |
247 | printf(" Count(%d) ", breakpoints[i].counter); |
247 | printf(" Count(%d) ", breakpoints[i].counter); |
248 | if (breakpoints[i].flags & BKPOINT_INPROG) |
248 | if (breakpoints[i].flags & BKPOINT_INPROG) |
249 | printf("INPROG "); |
249 | printf("INPROG "); |
250 | if (breakpoints[i].flags & BKPOINT_ONESHOT) |
250 | if (breakpoints[i].flags & BKPOINT_ONESHOT) |
Line 326... | Line 326... | ||
326 | } |
326 | } |
327 | if (cur->flags & BKPOINT_INPROG) |
327 | if (cur->flags & BKPOINT_INPROG) |
328 | printf("Warning: breakpoint recursion\n"); |
328 | printf("Warning: breakpoint recursion\n"); |
329 | 329 | ||
330 | if (!(cur->flags & BKPOINT_FUNCCALL)) |
330 | if (!(cur->flags & BKPOINT_FUNCCALL)) |
331 | printf("***Breakpoint %d: 0x%p in %s.\n", i, |
331 | printf("***Breakpoint %d: %p in %s.\n", i, |
332 | fireaddr, get_symtab_entry(istate->epc)); |
332 | fireaddr, get_symtab_entry(istate->epc)); |
333 | 333 | ||
334 | /* Return first instruction back */ |
334 | /* Return first instruction back */ |
335 | ((__u32 *)cur->address)[0] = cur->instruction; |
335 | ((__u32 *)cur->address)[0] = cur->instruction; |
336 | 336 | ||
Line 339... | Line 339... | ||
339 | ((__u32 *)cur->address)[1] = 0x0d; |
339 | ((__u32 *)cur->address)[1] = 0x0d; |
340 | cur->flags |= BKPOINT_REINST; |
340 | cur->flags |= BKPOINT_REINST; |
341 | } |
341 | } |
342 | cur->flags |= BKPOINT_INPROG; |
342 | cur->flags |= BKPOINT_INPROG; |
343 | } else { |
343 | } else { |
344 | printf("***Breakpoint 0x%p in %s.\n", fireaddr, |
344 | printf("***Breakpoint %p in %s.\n", fireaddr, |
345 | get_symtab_entry(fireaddr)); |
345 | get_symtab_entry(fireaddr)); |
346 | /* Move on to next instruction */ |
346 | /* Move on to next instruction */ |
347 | istate->epc += 4; |
347 | istate->epc += 4; |
348 | } |
348 | } |
349 | if (cur) |
349 | if (cur) |