Shorten command names for easier typing
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
// Main script
|
// Main script
|
||||||
|
|
||||||
log_inf("Loading system init script");
|
lif("Loading system init script");
|
||||||
|
|
||||||
var register_names = [
|
var register_names = [
|
||||||
"rax",
|
"rax",
|
||||||
@@ -34,42 +34,42 @@ var register_names = [
|
|||||||
"stat",
|
"stat",
|
||||||
];
|
];
|
||||||
|
|
||||||
function dump_regs()
|
function dr()
|
||||||
{
|
{
|
||||||
log_inf("Register dump:");
|
lif("Register dump:");
|
||||||
for (var i = 0; i < register_names.length; i++) {
|
for (var i = 0; i < register_names.length; i++) {
|
||||||
log_inf(register_names[i] + " " + get_reg(register_names[i]));
|
lif(register_names[i] + " " + gr(register_names[i]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function mem_read_reg(reg)
|
function mrdr(reg)
|
||||||
{
|
{
|
||||||
return mem_read(get_reg(reg));
|
return mrd(gr(reg));
|
||||||
}
|
}
|
||||||
|
|
||||||
function mem_write_reg(reg, v)
|
function mwrr(reg, v)
|
||||||
{
|
{
|
||||||
mem_write(get_reg(reg), v);
|
mwr(gr(reg), v);
|
||||||
}
|
}
|
||||||
|
|
||||||
function print_rip()
|
function prip()
|
||||||
{
|
{
|
||||||
log_inf("rip " + get_reg("rip"));
|
lif("rip " + gr("rip"));
|
||||||
}
|
}
|
||||||
|
|
||||||
function print_file()
|
function pf()
|
||||||
{
|
{
|
||||||
log_inf("Debugging file \"" + get_file() + "\"");
|
lif("Debugging file \"" + gf() + "\"");
|
||||||
}
|
}
|
||||||
|
|
||||||
function print_pid()
|
function ppid()
|
||||||
{
|
{
|
||||||
log_inf("Debuggee PID is " + get_pid());
|
lif("Debuggee PID is " + pid());
|
||||||
}
|
}
|
||||||
|
|
||||||
function print_program_load_offset()
|
function pplo()
|
||||||
{
|
{
|
||||||
log_inf("Program load offset is " + get_program_load_offset());
|
lif("Program load offset is " + plo());
|
||||||
}
|
}
|
||||||
|
|
||||||
load_script(".debugusrc1.js");
|
ldscr(".debugusrc1.js");
|
||||||
|
|||||||
@@ -1,32 +1,32 @@
|
|||||||
// User script
|
// User script
|
||||||
|
|
||||||
log_inf("Loading user init script for program ./test");
|
lif("Loading user init script for program ./test");
|
||||||
log_err("Test error message");
|
ler("Test error message");
|
||||||
|
|
||||||
var offset = "0x0000000000001169"; // dupa(), objdump -d ./test
|
var offset = "0x0000000000001169"; // dupa(), objdump -d ./test
|
||||||
|
|
||||||
// Testing...
|
// Testing...
|
||||||
print_file();
|
pf();
|
||||||
print_pid();
|
ppid();
|
||||||
print_program_load_offset();
|
pplo();
|
||||||
mk_brk_addr(offset);
|
baddr(offset);
|
||||||
list_brks();
|
lsbrk();
|
||||||
|
|
||||||
log_inf("1 --------------------------------------------");
|
lif("1 --------------------------------------------");
|
||||||
dump_regs();
|
dr();
|
||||||
var r14 = get_reg("r14");
|
var r14 = gr("r14");
|
||||||
set_reg("r14", "0x0");
|
sr("r14", "0x0");
|
||||||
log_inf("2 --------------------------------------------");
|
lif("2 --------------------------------------------");
|
||||||
dump_regs();
|
dr();
|
||||||
set_reg("r14", r14);
|
sr("r14", r14);
|
||||||
log_inf("3 --------------------------------------------");
|
lif("3 --------------------------------------------");
|
||||||
dump_regs();
|
dr();
|
||||||
|
|
||||||
var r14_mem = mem_read_reg("r14");
|
var r14_mem = mrdr("r14");
|
||||||
log_inf("Memory at r14 " + r14_mem);
|
lif("Memory at r14 " + r14_mem);
|
||||||
mem_write_reg("r14", "0x696969");
|
mwrr("r14", "0x696969");
|
||||||
log_inf("Memory at r14 " + mem_read_reg("r14"));
|
lif("Memory at r14 " + mrdr("r14"));
|
||||||
mem_write_reg("r14", r14_mem);
|
mwrr("r14", r14_mem);
|
||||||
log_inf("Memory at r14 " + mem_read_reg("r14"));
|
lif("Memory at r14 " + mrdr("r14"));
|
||||||
|
|
||||||
// cont();
|
// cont();
|
||||||
|
|||||||
60
debugus.c
60
debugus.c
@@ -262,7 +262,7 @@ void dbg_js_cont(js_State *js)
|
|||||||
js_pushundefined(js);
|
js_pushundefined(js);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dbg_js_mk_brk_addr(js_State *js)
|
void dbg_js_baddr(js_State *js)
|
||||||
{
|
{
|
||||||
Dbg *dbg = getdbg();
|
Dbg *dbg = getdbg();
|
||||||
const char *addr_str = js_tostring(js, 1);
|
const char *addr_str = js_tostring(js, 1);
|
||||||
@@ -278,7 +278,7 @@ done:
|
|||||||
js_pushundefined(js);
|
js_pushundefined(js);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dbg_js_rm_brk_addr(js_State *js)
|
void dbg_js_rmbaddr(js_State *js)
|
||||||
{
|
{
|
||||||
Dbg *dbg = getdbg();
|
Dbg *dbg = getdbg();
|
||||||
const char *addr_str = js_tostring(js, 1);
|
const char *addr_str = js_tostring(js, 1);
|
||||||
@@ -293,7 +293,7 @@ done:
|
|||||||
js_pushundefined(js);
|
js_pushundefined(js);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dbg_js_set_program_load_offset(js_State *js)
|
void dbg_js_splo(js_State *js)
|
||||||
{
|
{
|
||||||
Dbg *dbg = getdbg();
|
Dbg *dbg = getdbg();
|
||||||
const char *addr_str = js_tostring(js, 1);
|
const char *addr_str = js_tostring(js, 1);
|
||||||
@@ -304,13 +304,13 @@ void dbg_js_set_program_load_offset(js_State *js)
|
|||||||
js_pushundefined(js);
|
js_pushundefined(js);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dbg_js_get_program_load_offset(js_State *js)
|
void dbg_js_plo(js_State *js)
|
||||||
{
|
{
|
||||||
Dbg *dbg = getdbg();
|
Dbg *dbg = getdbg();
|
||||||
js_pushnumber(js, dbg->program_load_offset);
|
js_pushnumber(js, dbg->program_load_offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dbg_js_list_brks(js_State *js)
|
void dbg_js_lsbrk(js_State *js)
|
||||||
{
|
{
|
||||||
Dbg *dbg = getdbg();
|
Dbg *dbg = getdbg();
|
||||||
int c = 0;
|
int c = 0;
|
||||||
@@ -327,21 +327,21 @@ void dbg_js_list_brks(js_State *js)
|
|||||||
js_pushundefined(js);
|
js_pushundefined(js);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dbg_js_log_inf(js_State *js)
|
void dbg_js_lif(js_State *js)
|
||||||
{
|
{
|
||||||
const char *str = js_tostring(js, 1);
|
const char *str = js_tostring(js, 1);
|
||||||
LOG_INF("%s\n", str);
|
LOG_INF("%s\n", str);
|
||||||
js_pushundefined(js);
|
js_pushundefined(js);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dbg_js_log_err(js_State *js)
|
void dbg_js_ler(js_State *js)
|
||||||
{
|
{
|
||||||
const char *str = js_tostring(js, 1);
|
const char *str = js_tostring(js, 1);
|
||||||
LOG_ERR("%s\n", str);
|
LOG_ERR("%s\n", str);
|
||||||
js_pushundefined(js);
|
js_pushundefined(js);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dbg_js_load_script(js_State *js)
|
void dbg_js_ldscr(js_State *js)
|
||||||
{
|
{
|
||||||
void dbg_load_script(Dbg *dbg, const char *script_path);
|
void dbg_load_script(Dbg *dbg, const char *script_path);
|
||||||
Dbg *dbg = getdbg();
|
Dbg *dbg = getdbg();
|
||||||
@@ -350,19 +350,19 @@ void dbg_js_load_script(js_State *js)
|
|||||||
js_pushundefined(js);
|
js_pushundefined(js);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dbg_js_get_file(js_State *js)
|
void dbg_js_gf(js_State *js)
|
||||||
{
|
{
|
||||||
Dbg *dbg = getdbg();
|
Dbg *dbg = getdbg();
|
||||||
js_pushstring(js, dbg->file);
|
js_pushstring(js, dbg->file);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dbg_js_get_pid(js_State *js)
|
void dbg_js_pid(js_State *js)
|
||||||
{
|
{
|
||||||
Dbg *dbg = getdbg();
|
Dbg *dbg = getdbg();
|
||||||
js_pushnumber(js, dbg->pid);
|
js_pushnumber(js, dbg->pid);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dbg_js_get_reg(js_State *js)
|
void dbg_js_gr(js_State *js)
|
||||||
{
|
{
|
||||||
Dbg *dbg = getdbg();
|
Dbg *dbg = getdbg();
|
||||||
const char *name = js_tostring(js, 1);
|
const char *name = js_tostring(js, 1);
|
||||||
@@ -373,7 +373,7 @@ void dbg_js_get_reg(js_State *js)
|
|||||||
js_pushstring(js, buf);
|
js_pushstring(js, buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dbg_js_set_reg(js_State *js)
|
void dbg_js_sr(js_State *js)
|
||||||
{
|
{
|
||||||
Dbg *dbg = getdbg();
|
Dbg *dbg = getdbg();
|
||||||
const char *name = js_tostring(js, 1);
|
const char *name = js_tostring(js, 1);
|
||||||
@@ -385,7 +385,7 @@ void dbg_js_set_reg(js_State *js)
|
|||||||
js_pushundefined(js);
|
js_pushundefined(js);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dbg_js_mem_read(js_State *js)
|
void dbg_js_mrd(js_State *js)
|
||||||
{
|
{
|
||||||
Dbg *dbg = getdbg();
|
Dbg *dbg = getdbg();
|
||||||
const char *addr_str = js_tostring(js, 1);
|
const char *addr_str = js_tostring(js, 1);
|
||||||
@@ -397,7 +397,7 @@ void dbg_js_mem_read(js_State *js)
|
|||||||
js_pushstring(js, buf);
|
js_pushstring(js, buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dbg_js_mem_write(js_State *js)
|
void dbg_js_mwr(js_State *js)
|
||||||
{
|
{
|
||||||
Dbg *dbg = getdbg();
|
Dbg *dbg = getdbg();
|
||||||
const char *addr_str = js_tostring(js, 1);
|
const char *addr_str = js_tostring(js, 1);
|
||||||
@@ -410,7 +410,7 @@ void dbg_js_mem_write(js_State *js)
|
|||||||
js_pushundefined(js);
|
js_pushundefined(js);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dbg_js_list_syms(js_State *js)
|
void dbg_js_lsm(js_State *js)
|
||||||
{
|
{
|
||||||
Dbg *dbg = getdbg();
|
Dbg *dbg = getdbg();
|
||||||
for (int i = 0; i < dbg->symbols.count; i++) {
|
for (int i = 0; i < dbg->symbols.count; i++) {
|
||||||
@@ -431,21 +431,21 @@ void dbg_init_js(Dbg *dbg)
|
|||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
make_js_func(cont, 0);
|
make_js_func(cont, 0);
|
||||||
make_js_func(mk_brk_addr, 1 /*addr*/);
|
make_js_func(baddr, 1 /*addr*/);
|
||||||
make_js_func(rm_brk_addr, 1 /*addr*/);
|
make_js_func(rmbaddr, 1 /*addr*/);
|
||||||
make_js_func(list_brks, 0);
|
make_js_func(lsbrk, 0);
|
||||||
make_js_func(set_program_load_offset, 1 /*offset*/);
|
make_js_func(splo, 1 /*offset*/);
|
||||||
make_js_func(log_inf, 1 /*string*/);
|
make_js_func(lif, 1 /*string*/);
|
||||||
make_js_func(log_err, 1 /*string*/);
|
make_js_func(ler, 1 /*string*/);
|
||||||
make_js_func(load_script, 1 /*path*/);
|
make_js_func(ldscr, 1 /*path*/);
|
||||||
make_js_func(get_file, 0);
|
make_js_func(gf, 0);
|
||||||
make_js_func(get_pid, 0);
|
make_js_func(pid, 0);
|
||||||
make_js_func(get_program_load_offset, 0);
|
make_js_func(plo, 0);
|
||||||
make_js_func(get_reg, 1 /*reg name*/);
|
make_js_func(gr, 1 /*reg name*/);
|
||||||
make_js_func(set_reg, 2 /* reg name, value*/);
|
make_js_func(sr, 2 /* reg name, value*/);
|
||||||
make_js_func(mem_read, 1 /*addr*/);
|
make_js_func(mrd, 1 /*addr*/);
|
||||||
make_js_func(mem_write, 2 /*addr, value*/);
|
make_js_func(mwr, 2 /*addr, value*/);
|
||||||
make_js_func(list_syms, 0);
|
make_js_func(lsm, 0);
|
||||||
|
|
||||||
#undef make_js_func
|
#undef make_js_func
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user