若问题源于前端JavaScript(如网页功能异常、报错),浏览器开发者工具是最直接的排查工具。
F12或Ctrl+Shift+I(Mac为Cmd+Opt+I)。console.log(调试信息)、console.error(错误信息)都会在此显示,包括语法错误、未定义变量、API请求失败等具体信息。对于Node.js应用或系统级JS进程,可通过系统日志定位问题:
journalctl -f(-f表示实时跟踪),结合grep过滤JS相关关键词(如nodejs、javascript),例如:journalctl -f | grep nodejs
这会显示Node.js应用的实时日志,包括错误堆栈、端口占用、模块加载失败等信息。cat /var/log/syslog,或用grep过滤应用名(如myapp):grep -i "myapp" /var/log/syslog
可找到系统日志中与JS应用相关的记录。若应用使用第三方日志库(如winston、pino)或自定义日志文件,可直接查看其日志输出:
winston写入error.log,终端输入:tail -f /path/to/error.log
可实时查看错误日志(需提前确认日志文件路径,通常在应用根目录或/var/log/下)。pm2启动Node.js应用,输入pm2 logs可查看所有应用的实时日志,pm2 logs app-name查看特定应用日志。grep -i "error"(-i忽略大小写)快速提取日志中的错误行,例如:journalctl | grep -i "error"
tail -f /path/to/logfile.log实时查看日志文件的新增内容,便于快速捕捉问题。通过日志中的错误关键词可快速定位问题类型:
EACCES: permission denied(需用chmod/chown修改文件权限);EADDRINUSE: address already in use(用lsof -i :端口号找出占用进程并终止);Cannot find module 'xxx'(用npm install xxx安装缺失模块);SyntaxError: Unexpected token(检查代码语法)。通过以上方法,可快速定位Ubuntu系统中JavaScript相关的问题。根据问题场景选择对应工具(浏览器开发者工具用于前端,journalctl/system日志用于后端,应用自身日志用于精准排查),结合错误关键词可高效解决问题。