Subversion Repositories HelenOS

Rev

Rev 2915 | Rev 2923 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2915 Rev 2922
Line 60... Line 60...
60
static void cmd_break(int argc, char *argv[])
60
static void cmd_break(int argc, char *argv[])
61
{
61
{
62
    uintptr_t addr;
62
    uintptr_t addr;
63
    char brkp[1];
63
    char brkp[1];
64
    int rc;
64
    int rc;
-
 
65
    breakpoint_t *brk;
-
 
66
    int i;
-
 
67
 
-
 
68
    brk = NULL;
-
 
69
    for (i = 0; i < MAX_BRKPTS; i++)
-
 
70
        if (brk_list[i].set == 0) brk = brk_list+i;
-
 
71
 
-
 
72
    if (!brk) {
-
 
73
        printf("too many breakpoints\n");
-
 
74
        return;
-
 
75
    }
65
 
76
 
66
    (void)argc;
77
    (void)argc;
67
    addr = strtoul(argv[1], NULL, 0);
78
    addr = strtoul(argv[1], NULL, 0);
68
 
79
 
69
    printf("You requested a breakpoint at 0x%x\n", addr);
80
    printf("You requested a breakpoint at 0x%x\n", addr);
-
 
81
    rc = udebug_mem_read(app_phone, &brk->back, addr, 1);
-
 
82
    printf("udebug_mem_read() -> %d\n", rc);
70
    brkp[0] = 0xcc;
83
    brkp[0] = 0xcc;
71
    rc = udebug_mem_write(app_phone, brkp, addr, 1);
84
    rc = udebug_mem_write(app_phone, brkp, addr, 1);
72
    printf("udebug_mem_write() -> %d\n", rc);
85
    printf("udebug_mem_write() -> %d\n", rc);
-
 
86
 
-
 
87
    brk->addr = addr;
-
 
88
    brk->set = 1;
73
}
89
}
74
 
90
 
75
void cmd_help(int argc, char *argv[])
91
void cmd_help(int argc, char *argv[])
76
{
92
{
77
    int i;
93
    int i;