-
在gdb中使用v8自带的调试命令
首先在/path/to/v8/tools目录下找到一个gdbinit文件,把名字改为gdbinit_v8,然后执行以下命令:
cp gdbinit_v8 ~/.gdbinit_v8 gedit ~/.gdbinit #-----添加以下内容---------# source ~/.gdbinit_v8 #------------------------#
接着保存.gdbinit文件即可。
-
调试脚本编写中常用的函数
%DebugPrint(obj) // 输出对象地址 %SystemBreak() // 触发调试中断
-
启动gdb调试d8(v8编译后的二进制文件),引入调试脚本
gdb ./d8 set args --allow-natives-syntax ./test.js # 添加--allow-natives-syntax这个选项才可以在test.js中使用%DebugPrint等函数
-
test.js示例
var a = [1,2,3]; var b = [1.1, 2.2, 3.3]; var c = [a, b]; %DebugPrint(a); %SystemBreak(); //触发第一次调试 %DebugPrint(b); %SystemBreak(); //触发第二次调试 %DebugPrint(c); %SystemBreak(); //触发第三次调试
-
gdb-pwndbg调试时常用命令
job [address_of_obj] # gdbinit_v8中的特有命令,打印出对象内存结构,注意对象地址为其实际地址加1 telescope [real_address] [num] # pwndbg命令,打印出real_address地址处num个内存单元的值,该地址为真实地址
【Tips】V8引擎的调试
最新推荐文章于 2024-06-27 21:09:56 发布