WebStorm Tomcat 调试 js

本文介绍如何通过WebStorm实现JavaScript的调试,并且能够加载本地Tomcat进行开发。主要内容包括安装配置Tomcat、谷歌浏览器及特定插件,以及在WebStorm中设置调试环境。

经过多方努力,终于可以使 WebStorm 成功调试js 并且可以加载 本地 Tomcat 真的很爽!!
废话不多说,开始步骤。
1 安装好 Tomcat 这个不多说,具体步骤,网上一大把。
2 下载 谷歌浏览器 并安装
3 下载谷歌插件 jetBrains IDE Support(需要VPN)

https://chrome.google.com/webstore/detail/jetbrains-ide-support/hmhgeddbohgjknpmjagkdomcpobmllji 

当然也可以直接下载
一下是连接
http://download.youkuaiyun.com/detail/xulingyun20032003/9154685

4 打开 webstrom
这里写图片描述

5这里写图片描述

6这里写图片描述

7 ctrl + alt +s 调除配置界面
这里写图片描述

<think>好的,我现在需要解决用户的问题:WebStorm关闭后服务未停止的原因及解决方案。用户还提供了三个引用内容,我需要结合这些信息来回答。 首先,用户的问题可能涉及到进程管理的问题。当WebStorm关闭后,相关的服务进程仍然在运行,导致资源占用。根据引用[2],Tomcat关闭后应用进程无法退出,可能与后台线程或守护进程有关。这可能与WebStorm的情况类似,即某些子进程未被正确终止。 接下来,引用[3]提到nohup.out默认使用stdout,但后来发现依赖stderr的情况。这可能涉及到进程在后台运行的方式,比如使用nohup或&让进程在终端关闭后继续运行。如果WebStorm启动服务时使用了这些命令,可能导致进程在IDE关闭后仍然存在。 然后,引用[1]关于异步调试和网络请求调试,可能涉及Promise回调或setTimeout中的断点设置。如果服务中有未完成的异步任务或定时器,可能会阻止进程正常退出。 现在需要将这些点结合起来分析原因。可能的原因包括: 1. 后台进程或守护进程未正确终止。 2. 服务启动时使用了nohup、&或类似的命令,导致进程脱离终端。 3. 存在未完成的异步任务、定时器或网络请求,阻止进程退出。 4. WebStorm的配置问题,如未正确设置停止脚本。 解决方案方面,需要逐一对应原因: 1. 手动终止残留进程,使用ps和kill命令查找并杀死进程。 2. 检查启动脚本,避免使用nohup或&,改用进程管理工具如pm2。 3. 确保服务代码正确处理信号,关闭所有异步操作。 4. 配置WebStorm的运行配置,添加停止脚本或钩子。 需要验证这些解决方案是否可行,并确保用户能够理解步骤。例如,在Linux中使用ps aux | grep node查找Node.js进程,然后kill -9 PID。同时,检查服务代码中是否有未清除的interval或timeout。 可能还需要考虑WebStorm本身的问题,比如某些插件或配置导致进程未正确终止。建议用户检查运行/调试配置,确保在停止时触发正确的命令。 最后,生成相关问题,帮助用户深入理解,比如如何调试未停止的进程,或者如何优化服务启动脚本。</think>### WebStorm 关闭后服务未停止的原因及解决方案 #### 原因分析 1. **后台进程未终止** WebStorm 启动的服务(如 Node.js 服务)可能以**守护进程**或**后台模式**运行。例如使用 `nohup` 或 `&` 启动时,进程会脱离终端控制,导致 IDE 关闭后仍存活[^3]。 2. **异步任务未结束** 服务中可能存在未完成的异步操作(如未关闭的 `setInterval`、未释放的数据库连接),阻止进程自动退出[^1]。 3. **IDE 配置问题** WebStorm 的运行配置(Run/Debug Configuration)可能未设置**终止信号处理**,或未关联停止脚本。 4. **端口占用未释放** 服务异常退出时,端口可能未及时释放,但此情况通常与进程残留直接相关[^2]。 --- #### 解决方案 1. **手动终止残留进程** - **Linux/macOS** 通过终端执行以下命令: ```bash # 查找进程(例如 Node.js 服务) ps aux | grep node # 强制终止进程 kill -9 <PID> ``` - **Windows** 使用任务管理器或 `taskkill` 命令: ```cmd taskkill /F /IM node.exe ``` 2. **优化服务启动配置** - **避免使用后台模式** 移除启动命令中的 `nohup`、`&` 等符号,确保进程与 IDE 生命周期绑定。 - **使用进程管理工具** 改用 `pm2` 或 `forever` 管理服务,通过 CLI 控制进程启停: ```bash pm2 start app.js pm2 stop app.js ``` 3. **代码层改进** - **监听终止信号** 在服务代码中添加 `SIGINT`(Ctrl+C)和 `SIGTERM` 的监听逻辑,确保资源释放: ```javascript process.on('SIGTERM', () => { clearInterval(timer); server.close(); process.exit(0); }); ``` - **检查异步任务** 确保所有 `setTimeout`、`setInterval` 和网络请求在退出前被清理。 4. **配置 WebStorm 的停止钩子** 在运行配置的 **Before Launch** 或 **After Launch** 中添加脚本,调用终止服务的命令(如 `curl -X POST http://localhost:port/shutdown`)。 --- #### 验证方法 1. 关闭 WebStorm 后,检查进程列表确认服务已终止。 2. 使用 `lsof -i :<端口号>` 或 `netstat` 确认端口释放。 3. 监控系统资源(如内存占用)是否恢复正常[^2]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值