Skip to content

Commit b823b8b

Browse files
author
Carlos Rojas
committed
add idx to dump callstackframe
1 parent 573dbb9 commit b823b8b

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

src/Debug/debugger.cpp

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ bool Debugger::checkDebugMessages(Module *m, RunningState *program_state) {
180180
break;
181181
case interruptOffset: {
182182
free(interruptData);
183+
printf("here");
183184
dprintf(this->socket, "\"{\"offset\":\"%p\"}\"\n", (void *)m->bytes);
184185
break;
185186
}
@@ -531,9 +532,9 @@ void Debugger::woodDump(Module *m) {
531532
uint8_t *block_key =
532533
f->block->block_type == 0 ? nullptr : findOpcode(m, f->block);
533534
dprintf(this->socket,
534-
R"({"type":%u,"fidx":"0x%x","sp":%d,"fp":%d,"block_key":"%p", "ra":"%p"}%s)",
535+
R"({"type":%u,"fidx":"0x%x","sp":%d,"fp":%d,"block_key":"%p", "ra":"%p", "idx":%d}%s)",
535536
f->block->block_type, f->block->fidx, f->sp, f->fp, block_key,
536-
static_cast<void *>(f->ra_ptr), (i < m->csp) ? "," : "");
537+
static_cast<void *>(f->ra_ptr), i, (i < m->csp) ? "," : "");
537538
}
538539

539540
// printf("asked for globals\n");
@@ -549,7 +550,7 @@ void Debugger::woodDump(Module *m) {
549550
dprintf(this->socket, ",\"table\":{\"max\":%d, \"init\":%d, \"elements\":[",
550551
m->table.maximum, m->table.initial);
551552

552-
write(this->socket, m->table.entries, sizeof(uint32_t) * m->table.size);
553+
//write(this->socket, m->table.entries, sizeof(uint32_t) * m->table.size);
553554
dprintf(this->socket, "]}"); // closing table
554555

555556
// printf("asked for mem\n");
@@ -559,7 +560,7 @@ void Debugger::woodDump(Module *m) {
559560
dprintf(this->socket, ",\"memory\":{\"pages\":%d,\"max\":%d,\"init\":%d,\"bytes\":[",
560561
m->memory.pages, m->memory.maximum, m->memory.initial);
561562

562-
write(this->socket, m->memory.bytes, total_elems * sizeof(uint8_t));
563+
//write(this->socket, m->memory.bytes, total_elems * sizeof(uint8_t));
563564
dprintf(this->socket, "]}"); // closing memory
564565

565566

@@ -681,11 +682,12 @@ bool Debugger::saveState(Module *m, uint8_t *interruptData) {
681682
program_state = interruptData + 1; // skip interruptRecvState
682683
endstate = program_state + read_B32(&program_state);
683684

685+
printf("saving program_state\n");
684686
while (program_state < endstate) {
685687
switch (*program_state++) {
686688
case pcState: { // PC
687-
printf("reciving pc\n");
688689
m->pc_ptr = (uint8_t *)readPointer(&program_state);
690+
/* printf("reciving pc %p\n", static_cast<void*>(m->pc_ptr)); */
689691
break;
690692
}
691693
case breakpointsState: { // breakpoints
@@ -702,7 +704,9 @@ bool Debugger::saveState(Module *m, uint8_t *interruptData) {
702704
printf("receiving callstack\n");
703705
uint16_t quantity = read_B16(&program_state);
704706
debug("quantity frames %" PRIu16 "\n", quantity);
707+
/* printf("quantity frames %" PRIu16 "\n", quantity); */
705708
for (size_t i = 0; i < quantity; i++) {
709+
/* printf("frame IDX: %lu\n", i); */
706710
uint8_t block_type = *program_state++;
707711
m->csp += 1;
708712
Frame *f = m->callstack + m->csp;
@@ -712,7 +716,7 @@ bool Debugger::saveState(Module *m, uint8_t *interruptData) {
712716
if (block_type == 0) { // a function
713717
debug("function block\n");
714718
uint32_t fidx = read_B32(&program_state);
715-
debug("function block idx=%" PRIu32 "\n", fidx);
719+
/* printf("function block idx=%" PRIu32 "\n", fidx); */
716720
f->block = m->functions + fidx;
717721

718722
if (f->block->fidx != fidx) {

0 commit comments

Comments
 (0)