JS在线运行

版本:

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
事件监听时间 发布于:2025-03-19 23:49 堆内存申请(自定义used数组,按照输入把使用过的填false 然后找到连续的true数组,比较,如果和输入大小最接近,返回l) 发布于:2025-03-19 20:02 最远足迹(字符串操作,匹配括号内的数组数据) 发布于:2025-03-19 19:43 倒 N 形走位(逻辑分析:let reverse = true; for (let i = 0; i < x; i++) { let k = i % n; if (k == 0) reverse = !reverse; if (reverse) k = n - 1 - k; matrix[k].push(i + 1); }) 发布于:2025-03-19 19:34 【木板】最短木板的长度最大可以为多少(补充木板不为0一直循环;从第二根开始,如果比前一根长,就在前一根上+1;如果一直到最后都一样长,在在最后一个+1并重新开始循环,直到m用光) 发布于:2025-03-19 19:26 最大矩阵和(将矩阵的每一行都求一遍最大子数组的和,然后从第二行开始,将i+1-N行的数都压缩到第i行后分别求最大子数组的和) 发布于:2025-03-19 19:16 求最多可以派出多少支团队(单独组队的挑出去后排序,剩下的双指针 一个指向队尾一个指向队头,如果>=min就++ l++r--;小于就l++) 发布于:2025-03-19 18:37 AI识别(逻辑分析 自定义排序(灯的半径 左边 idx排序)) 发布于:2025-03-19 18:07 分奖金(暴力破解-双循环) 发布于:2025-03-19 18:06 【计算最接近的数】(滑动窗口) 发布于:2025-03-18 19:44 【抓阄游戏】(字符串自定义排序) 发布于:2025-03-18 19:15 路灯照明问题(遍历每对相邻路灯(共 n-1 对),计算它们之间的未照明间隙: 间隙公式:100 - (r_i + r_{i+1}),若结果为负数则取 0。 累加所有间隙到 total。) 发布于:2025-03-18 18:55 最大花费金额(三数之和 双指针) 发布于:2025-03-18 18:34 【机房布局】(逻辑分析:M右边是I时候放右边,跳两个;右边不是左边是I的时候放左边,挑一个·1) 发布于:2025-03-18 18:08 【玩牌高手】(动态规划,取最大值) 发布于:2025-03-18 17:54 【班长竞选】(自定义排序) 发布于:2025-03-18 17:48 字符串摘要(自定义排序+逻辑分析()) 发布于:2025-03-18 17:32 数组连续和(滑动窗口) 发布于:2025-03-18 17:03 勾股数元组(欧几里得算法/暴力枚举) 发布于:2025-03-18 16:43 【比赛】选手前3名的编号(自定义排序) 发布于:2025-03-17 19:28 数据库实验一 发布于:2025-03-17 18:39 【日志排序】(js.new Date()) 发布于:2025-03-17 18:33 【分班】同班的小朋友(逻辑分析,用一个判断变量) 发布于:2025-03-17 18:19 传递悄悄话(二叉树层序遍历) 发布于:2025-03-17 18:02 数组组成的最小数字(排序) 发布于:2025-03-17 17:35 【找最小数】(栈,一个一个放进去,遇到比栈顶小的就出栈,直到符合题目) 发布于:2025-03-17 17:23 优秀学员统计(自定义排序) 发布于:2025-03-17 17:05 磁盘容量排序(自定义排序) 发布于:2025-03-17 16:38 字符串加密(charCodeAt,String.fromCharCode) 发布于:2025-03-16 19:16 【免单统计】(new Date().getTime()) 发布于:2025-03-16 18:53 螺旋矩阵(逻辑分析) 发布于:2025-03-16 18:27 求字符串中所有整数的最小和 发布于:2025-03-16 18:08 热点网站统计(循环输入) 发布于:2025-03-16 17:55 删除双向链表中间节点 发布于:2025-03-16 17:29 IPv4地址转换成整数(字符串切割,parseInt,toString) 发布于:2025-03-15 20:58 【数字涂色】(数组切割) 发布于:2025-03-15 20:30 根据条件聚类最小交换次数(滑动窗口) 发布于:2025-03-15 20:11 荒岛逃生游戏(栈) 发布于:2025-03-15 17:40 货币单位换算(分析题) 发布于:2025-03-15 17:03 分割数组的最大差值(dan'zhi'zhen) 发布于:2025-03-15 16:41 篮球比赛(回溯) 发布于:2025-03-15 16:26 关联子串(滑动?排序?) 发布于:2025-03-15 16:10 强制触发垃圾回收。 发布于:2025-03-15 12:18 【选修课】自定义排序 发布于:2025-03-15 16:00 VLAN局域网(0-4095数组处理) 发布于:2025-03-14 19:10 报数游戏-约瑟夫环-双端队列 发布于:2025-03-14 18:09 计算堆栈中的剩余数字 发布于:2025-03-14 17:59 字符统计及重排 发布于:2025-03-14 17:28 【水仙花数】:水仙花数算出来再打表 发布于:2025-03-14 17:08 【单词接龙】:字符串操作 发布于:2025-03-14 16:17 [更多]
显示目录

调试器



学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

调试器

稳定性: 3 - 稳定

V8提供了强大的调试工具,可以通过TCP protocol从外部访问。Node内置这个调试工具客户端。使用这个调试器的方法是,以debug参数启动Node.js,将会出现提示,指示调试器成功启动:

% node debug myscript.js
< debugger listening on port 5858
connecting... ok
break in /home/indutny/Code/git/indutny/myscript.js:1
  1 x = 5;
  2 setTimeout(function () {
  3   debugger;
debug>

Node的调试器不支持所有的命令,但是简单的步进和检查还是可以的。在代码里嵌入debugger;,可以设置断点。

例:myscript.js代码如下:

// myscript.js
x = 5;
setTimeout(function () {
  debugger;
  console.log("world");
}, 1000);
console.log("hello");

如果启动debugger,它会断在第四行:

% node debug myscript.js
< debugger listening on port 5858
connecting... ok
break in /home/indutny/Code/git/indutny/myscript.js:1
  1 x = 5;
  2 setTimeout(function () {
  3   debugger;
debug> cont
< hello
break in /home/indutny/Code/git/indutny/myscript.js:3
  1 x = 5;
  2 setTimeout(function () {
  3   debugger;
  4   console.log("world");
  5 }, 1000);
debug> next
break in /home/indutny/Code/git/indutny/myscript.js:4
  2 setTimeout(function () {
  3   debugger;
  4   console.log("world");
  5 }, 1000);
  6 console.log("hello");
debug> repl
Press Ctrl + C to leave debug repl
> x
5
> 2+2
4
debug> next
< world
break in /home/indutny/Code/git/indutny/myscript.js:5
  3   debugger;
  4   console.log("world");
  5 }, 1000);
  6 console.log("hello");
  7
debug> quit
%

repl命令能执行远程代码;next能步进到下一行。此外可以输入help查看哪些命令可用。

监视器-Watchers

调试的时候可以查看表达式和变量。每个断点处,监视器都会显示上下文。

输入watch("my_expression")开始监视表达式,watchers显示活跃的监视器。输入unwatch("my_expression")可以移除监视器。

命令参考-Commands reference

步进-Stepping

  • cont, c- 继续执行
  • next, n- Step next
  • step, s- Step in
  • out, o- Step out
  • pause- 暂停 (类似开发工具的暂停按钮)

断点Breakpoints

  • setBreakpoint(), sb()- 当前行设置断点
  • setBreakpoint(line), sb(line)- 在指定行设置断点
  • setBreakpoint('fn()'), sb(...)- 在函数里的第一行设置断点
  • setBreakpoint('script.js', 1), sb(...)- 在 script.js 第一行设置断点。
  • clearBreakpoint, cb(...)- 清除断点

也可以在尚未加载的文件里设置断点:

% ./node debug test/fixtures/break-in-module/main.js
< debugger listening on port 5858
connecting to port 5858... ok
break in test/fixtures/break-in-module/main.js:1
  1 var mod = require('./mod.js');
  2 mod.hello();
  3 mod.hello();
debug> setBreakpoint('mod.js', 23)
Warning: script 'mod.js' was not loaded yet.
  1 var mod = require('./mod.js');
  2 mod.hello();
  3 mod.hello();
debug> c
break in test/fixtures/break-in-module/mod.js:23
 21
 22 exports.hello = function() {
 23   return 'hello from module';
 24 };
 25
debug>

信息Info

  • backtrace, bt- 打印当前执行框架的backtrace
  • list(5)- 显示脚本代码的5行上下文(之前5行和之后5行)
  • watch(expr)- 监视列表里添加表达式
  • unwatch(expr)- 从监视列表里删除表达式
  • watchers- 显示所有的监视器和它们的值(每个断点都会自动列出)
  • repl- 在所调试的脚本的上下文中,打开调试器的repl

执行控制Execution control

  • run- 运行脚本 (开始调试的时候自动运行)
  • restart- 重新运行脚本
  • kill- 杀死脚本

杂项Various

  • scripts- 列出所有已经加载的脚本
  • version- 显示v8版本

高级应用Advanced Usage

V8调试器可以用两种方法启用和访问,--debug命令启动调试,或向已经启动Node发送SIGUSR1

一旦一个进程进入调试模式,它可以被node调试器连接。调试器可以通过pid或URI来连接。

  • node debug -p <pid>- 通过pid连接进程
  • node debug <URI>- 通过URI(比如localhost:5858)连接进程w。
由JSRUN为你提供的JS在线运行、在线编译工具
        JSRUN提供的JS 在线运行,JS 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout