• setBreakpoint(), sb(): 在当前行上设置断点。
    • setBreakpoint(line), sb(line): 在指定行上设置断点。
    • setBreakpoint('fn()'), sb(...): 在函数体的第一个语句上设置断点。
    • setBreakpoint('script.js', 1)sb(...): 在 script.js 的第一行上设置断点。
    • setBreakpoint('script.js', 1, 'num < 4')sb(...): 在 script.js 的第一行上设置条件断点,仅当 num < 4 计算为 true 时才会中断。
    • clearBreakpoint('script.js', 1), cb(...): 清除 script.js 中第一行上的断点。

    也可以在尚未加载的文件(模块)中设置断点:

    1. $ node inspect main.js
    2. < Debugger listening on ws://127.0.0.1:9229/4e3db158-9791-4274-8909-914f7facf3bd
    3. < For help, see: https://nodejs.org/en/docs/inspector
    4. < Debugger attached.
    5. Break on start in main.js:1
    6. > 1 (function (exports, require, module, __filename, __dirname) { const mod = require('./mod.js');
    7. 2 mod.hello();
    8. 3 mod.hello();
    9. debug> setBreakpoint('mod.js', 22)
    10. Warning: script 'mod.js' was not loaded yet.
    11. debug> c
    12. break in mod.js:22
    13. 20 // 软件中的其他处理。
    14. 21
    15. >22 exports.hello = function() {
    16. 23 return '来自模块的问候';
    17. 24 };
    18. debug>

    It is also possible to set a conditional breakpoint that only breaks when a given expression evaluates to true:

    1. $ node inspect main.js
    2. < Debugger listening on ws://127.0.0.1:9229/ce24daa8-3816-44d4-b8ab-8273c8a66d35
    3. < For help, see: https://nodejs.org/en/docs/inspector
    4. < Debugger attached.
    5. Break on start in main.js:7
    6. 5 }
    7. 6
    8. > 7 addOne(10);
    9. 8 addOne(-1);
    10. 9
    11. debug> setBreakpoint('main.js', 4, 'num < 0')
    12. 1 'use strict';
    13. 2
    14. 3 function addOne(num) {
    15. > 4 return num + 1;
    16. 5 }
    17. 6
    18. 7 addOne(10);
    19. 8 addOne(-1);
    20. 9
    21. debug> cont
    22. break in main.js:4
    23. 2
    24. 3 function addOne(num) {
    25. > 4 return num + 1;
    26. 5 }
    27. 6
    28. debug> exec('num')
    29. -1
    30. debug>