Subversion Repositories HelenOS-historic

Rev

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)