建置與工具
除錯器(debugger)
除錯器(debugger)是一種能讓你正在執行的程式「半路定格」、好讓你鑽進去查看內部的工具。與其瞎猜哪裡出了錯,你不如在選定的某一行把程式碼暫停下來,然後一步一步往前走——看清每一刻每個變數裡到底裝著什麼。它回答的是真正要緊的問題:不是「哪裡壞了」,而是「為什麼壞」。
訣竅在於中斷點(breakpoint)——你在某一行上放的一個標記,意思是「到這裡停下」。程式一跑到這裡,一切都停住,控制權交到你手上。你可以查看每一個值、「步入」某個函式去跟進更深一層,或者讓它繼續跑到下一個中斷點。這就像把電影一格一格地暫停,好抓住魔術究竟是在哪一刻變出來的。
在除錯器出現以前,大家靠在程式碼裡到處撒列印敘述來偷看程式的狀態——直到今天,很多人隨手查個小問題時還是這麼幹。除錯器則是它的成熟版:不用改你的程式碼,也不用重跑十幾遍。你把時間按停,四下看看,bug 往往就自己露餡了。
function total(cart) {
let sum = 0;
for (const item of cart) {
debugger; // ← execution pauses here; inspect 'item' and 'sum'
sum += item.price;
}
return sum;
}命中中斷點後,單步走迴圈,盯著 sum 一點點累加——或者發現它根本沒在加。
如果一個程式以非零結束代碼(exit code)結束,你又看不出原因,用除錯器跑一遍往往是抓住它出錯那一刻的最快辦法。
又稱
另見