如何修改VSCode中launch.json自动生成的Java调试参数?
解决VSCode Java调试自动生成参数中
server=n改为server=y的简便方法 方法1:直接在launch.json中配置vmArgs
通过自定义虚拟机参数覆盖VSCode自动生成的调试参数:
- 打开项目下的
.vscode/launch.json文件 - 找到对应Java调试配置(
"type": "java", "request": "launch"的条目) - 添加
"vmArgs": "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:52252"字段 - 保存后重启调试,VSCode会优先使用你自定义的参数,不再生成默认调试参数
示例配置片段:
{ "version": "0.2.0", "configurations": [ { "type": "java", "name": "Debug (Launch)", "request": "launch", "mainClass": "com.yourpackage.MainClass", "projectName": "your-project-name", "vmArgs": "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:52252" } ] }
方法2:切换为attach类型调试配置
如果场景允许,改用附加调试模式,默认会使用server=y的参数逻辑:
- 在
launch.json中新增attach类型配置:
{ "type": "java", "name": "Debug (Attach)", "request": "attach", "hostName": "localhost", "port": 52252 }
- 手动启动Java程序时带上参数
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:52252(可通过终端或VSCode任务),再启动该attach调试会话即可。
方法3:全局修改Java扩展默认调试参数
想让所有Java调试配置默认使用该参数的话:
- 打开VSCode设置(快捷键
Ctrl+,) - 搜索
java.debug.settings.vmArgs - 在输入框中填入
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:52252 - 保存后,新创建的调试配置以及未自定义
vmArgs的现有配置都会自动应用该参数
注意:若担心端口冲突,可将address改为*:52252或localhost:0(让系统分配随机端口)。
内容的提问来源于stack exchange,提问作者tarekahf
相关产品推荐
相关产品推荐

