如何本地调试Heroku Spring Boot应用?IntelliJ配置及OAuth场景
在IntelliJ中通过Heroku CLI调试本地应用的方法
完全可以通过Heroku CLI进行本地应用调试,下面是具体的配置步骤,帮你快速搞定:
1. 让应用以调试模式启动
首先需要确保你的应用在通过Heroku CLI启动时开启调试端口。以Java应用为例(适配大多数Salesforce集成项目),有两种方式:
方式一:修改Procfile
找到项目根目录的Procfile,将原来的启动命令加上JVM调试参数:
web: java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -jar your-app.jar
address=*:5005:指定调试端口为5005,*允许外部连接(本地调试用localhost即可)suspend=n:应用启动时不等待调试器连接;如果希望应用启动后暂停、等调试器连接再继续,改成suspend=y
方式二:启动时临时覆盖命令
如果不想修改Procfile,也可以直接在启动时指定调试命令:
heroku local:run "java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -jar your-app.jar"
2. 在IntelliJ中配置远程调试会话
打开IntelliJ,按照以下步骤操作:
- 点击顶部菜单栏的
Run->Edit Configurations - 点击左上角的
+号,选择Remote JVM Debug - 在配置界面填写:
- Name:自定义名称,比如「Heroku Local Debug」
- Host:
localhost(因为应用在本地运行) - Port:
5005(和刚才启动命令里的端口保持一致) - Transport:保持默认的
Socket即可
- 点击
Apply保存配置
3. 启动应用并连接调试器
- 先通过Heroku CLI启动应用:
(如果用的是方式二的临时命令,直接执行那个命令即可)heroku local web - 等应用启动完成后,回到IntelliJ,找到刚才配置的调试会话,点击旁边的「Debug」按钮(绿色虫子图标)
- 现在就可以在代码中设置断点,调试你的应用了!
其他语言的适配提示
如果你的应用是Node.js等其他语言,思路类似:
- Node.js:启动命令改为
node --inspect=0.0.0.0:9229 app.js,然后在IntelliJ中配置「Remote Node.js Debug」,端口设为9229即可
内容的提问来源于stack exchange,提问作者Nagendra Singh
相关产品推荐
相关产品推荐

