node提供了類似于gdb的命令行調試工具(http://nodejs.org/docs/latest/api/debugger.html)
node debug script.js
可是我發現這個工具沒有想像中的好用,其斷點功能非常不便。在官方的描述中,設置斷點的函數有這幾個:
setBreakpoint(), sb() - Set breakpoint on current line
setBreakpoint('fn()'), sb(...) - Set breakpoint on a first statement in functions body
setBreakpoint('script.js', 1), sb(...) - Set breakpoint on first line of script.js
clearBreakpoint, cb(...) - Clear breakpoint
竟然沒有直接指定行號的功能,比我想在當前腳本的第102行設置斷點,只能用 sb(a_very_long_name_of_the_script.js, 102),其中a_very_long_name_of_the_script.js是當前腳本的文件名,而直接使用sb(102)是不行的。
另一個重大的問題是,當腳本執行結束後再使用run或restart重新執行時,以前設過的斷點會全部消失,必須重新設置。
這麼一來調試功能簡直是雞肋啊,沒法用,請教各位是怎麼單步調試的?
5 回复