javascriptcore调试笔记

1.输出各阶段的asm

/Tools/Scripts/run-jsc <arg> /path/to/jsfile &> ~/out

其中arg可以为

JSC_dumpDisassembly = true    转储所有JIT编译函数的反汇编。
JSC_dumpDFGDisassembly = true    转储DFG和FTL编译函数的反汇编。
JSC_dumpFTLDisassembly = true    转储FTL编译函数的反汇编。
JSC_dumpSourceAtDFGTime = true    转储DFG/FTL编译函数的来源。
JSC_dumpBytecodeAtDFGTime = true    转储DFG/FTL编译函数的字节码。
JSC_dumpGraphAfterParsing = true    在DFG/FTL编译时解析函数字节码后转储DFG图。
JSC_dumpGraphAtEachPhase = true    在DFG/FTL编译的每个阶段之后转储DFG图。

一例

./Tools/Scripts/run-jsc --JSC_dumpDisassembly=true --JSC_dumpDFGDisassembly=true --JSC_dumpFTLDisassembly=true --JSC_dumpSourceAtDFGTime=true --JSC_dumpBytecodeAtDFGTime=true --JSC_dumpGraphAfterParsing=true --JSC_dumpGraphAtEachPhase=true /home/r00t/workspace/poc3.js &> ~/log

https://webkit.org/blog/6411/

2.lldb输出崩溃信息

bugreport unwind -outfile </path/to/logfile>

猜你喜欢

转载自www.cnblogs.com/snip3r/p/12894735.html