51,7 → 51,6 |
#include "syscalls.h" |
#include "ipcp.h" |
#include "errors.h" |
#include "debug_api.h" |
|
#define THBUF_SIZE 64 |
unsigned thread_hash_buf[THBUF_SIZE]; |
79,13 → 78,13 |
phoneid = rc; |
if (rc < 0) return rc; |
|
printf("debug_begin()... "); |
rc = debug_begin(phoneid); |
printf("udebug_begin()... "); |
rc = udebug_begin(phoneid); |
printf("-> %d\n", rc); |
if (rc < 0) return rc; |
|
printf("debug_set_evmask(0x%x)... ", UDEBUG_EM_ALL); |
rc = debug_set_evmask(phoneid, UDEBUG_EM_ALL); |
printf("udebug_set_evmask(0x%x)... ", UDEBUG_EM_ALL); |
rc = udebug_set_evmask(phoneid, UDEBUG_EM_ALL); |
printf("-> %d\n", rc); |
if (rc < 0) return rc; |
|
101,7 → 100,7 |
|
|
printf("send IPC_M_DEBUG_THREAD_READ message\n"); |
rc = debug_thread_read(phoneid, (unsigned)thread_hash_buf, |
rc = udebug_thread_read(phoneid, (unsigned)thread_hash_buf, |
THBUF_SIZE*sizeof(unsigned), &tb_copied, &tb_needed); |
printf("-> %d\n", rc); |
if (rc < 0) return rc; |
185,7 → 184,7 |
return; |
|
memset(&call, 0, sizeof(call)); |
rc = debug_mem_read(phoneid, &call.args, sc_args[1], sizeof(call.args)); |
rc = udebug_mem_read(phoneid, &call.args, sc_args[1], sizeof(call.args)); |
|
if (rc >= 0) { |
ipcp_call_out(sc_args[0], &call, sc_rc); |
210,9 → 209,9 |
|
// printf("memset\n"); |
memset(&reply, 0, sizeof(reply)); |
// printf("debug_mem_read(phone=%d, buffer_ptr=%u, src_addr=%d, n=%d\n", |
// printf("udebug_mem_read(phone=%d, buffer_ptr=%u, src_addr=%d, n=%d\n", |
// phoneid, &reply.args, sc_args[5], sizeof(reply.args)); |
rc = debug_mem_read(phoneid, &reply.args, sc_args[5], sizeof(reply.args)); |
rc = udebug_mem_read(phoneid, &reply.args, sc_args[5], sizeof(reply.args)); |
// printf("dmr->%d\n", rc); |
if (rc < 0) return; |
|
226,12 → 225,12 |
int rc; |
|
memset(&question, 0, sizeof(question)); |
rc = debug_mem_read(phoneid, &question.args, sc_args[1], sizeof(question.args)); |
rc = udebug_mem_read(phoneid, &question.args, sc_args[1], sizeof(question.args)); |
printf("dmr->%d\n", rc); |
if (rc < 0) return; |
|
memset(&reply, 0, sizeof(reply)); |
rc = debug_mem_read(phoneid, &reply.args, sc_args[2], sizeof(reply.args)); |
rc = udebug_mem_read(phoneid, &reply.args, sc_args[2], sizeof(reply.args)); |
printf("dmr->%d\n", rc); |
if (rc < 0) return; |
|
246,8 → 245,8 |
if (sc_rc == 0) return 0; |
|
memset(&call, 0, sizeof(call)); |
rc = debug_mem_read(phoneid, &call, sc_args[0], sizeof(call)); |
// printf("debug_mem_read(phone %d, dest %d, app-mem src %d, size %d -> %d\n", |
rc = udebug_mem_read(phoneid, &call, sc_args[0], sizeof(call)); |
// printf("udebug_mem_read(phone %d, dest %d, app-mem src %d, size %d -> %d\n", |
// phoneid, (int)&call, sc_args[0], sizeof(call), rc); |
|
if (rc >= 0) { |
262,7 → 261,7 |
int rc; |
|
/* Read syscall arguments */ |
rc = debug_args_read(phoneid, thread_hash, sc_args); |
rc = udebug_args_read(phoneid, thread_hash, sc_args); |
|
async_serialize_start(); |
|
288,7 → 287,7 |
int rc; |
|
/* Read syscall arguments */ |
rc = debug_args_read(phoneid, thread_hash, sc_args); |
rc = udebug_args_read(phoneid, thread_hash, sc_args); |
|
async_serialize_start(); |
|
351,7 → 350,7 |
while (!abort_trace) { |
|
/* Run thread until an event occurs */ |
rc = debug_go(phoneid, thread_hash, |
rc = udebug_go(phoneid, thread_hash, |
&ev_type, &val0, &val1); |
|
// printf("rc = %d, ev_type=%d\n", rc, ev_type); |
450,7 → 449,7 |
if (c == 'q') break; |
if (c == 'p') { |
paused = 1; |
rc = debug_stop(phoneid, thash); |
rc = udebug_stop(phoneid, thash); |
printf("stop -> %d\n", rc); |
} |
if (c == 'r') { |
460,7 → 459,7 |
|
printf("terminate debugging session...\n"); |
abort_trace = 1; |
debug_end(phoneid); |
udebug_end(phoneid); |
ipc_hangup(phoneid); |
|
ipcp_cleanup(); |