gpt4 book ai didi

google-app-engine - IDEA+Gradle如何调试AppEngine本地服务器?

转载 作者:太空宇宙 更新时间:2023-11-03 15:20:42 25 4
gpt4 key购买 nike

我正在学习 Udacity App Engine 类(class),但作为修补匠,我正在学习使用 Gradle 和 IDEA(开源版)。

我已经使用以下 build.gradle 文件成功设置了项目

buildscript {
repositories {
mavenCentral()
}

dependencies {
classpath 'com.google.appengine:gradle-appengine-plugin:1.9.7'
}
}

apply plugin: 'war'
apply plugin: 'appengine'

sourceCompatibility = 1.8
version = '1.0'

appengine {
daemon = true
downloadSdk = true

appcfg {
oauth2 = true
}
}

repositories {
mavenCentral()
mavenLocal()
}

dependencies {
appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.7'

compile 'com.google.inject:guice:3.0'
compile 'com.googlecode.objectify:objectify:5.0.3'
compile 'com.google.appengine:appengine-api-1.0-sdk:1.9.7'
compile 'com.google.appengine:appengine-endpoints:1.9.7'
compile 'javax.servlet:servlet-api:2.5'
compile 'javax.inject:javax.inject:1'

testCompile 'junit:junit:4.11'
testCompile 'com.google.appengine:appengine-testing:1.9.7'
testCompile 'com.google.appengine:appengine-api-stubs:1.9.7'
}

我正在使用带有 appengineRun 配置的 Gradle 运行配置从 IDEA 运行本地开发服务器,并使用 appengineStop 的另一个任务停止它。这是有效的,但我无法调试,因为我设置的断点没有命中。

我认为这个断点问题是因为 IDEA 不知道(我的双关语很糟糕)它必须连接到支持 AppEngine 服务器的码头服务器,但这是一个疯狂的镜头,因为我不了解 IDEA内部结构,更不用说它如何处理 Gradle 执行了。

如何恢复断点能力?没有自定义插件是否可行?

最佳答案

首先,您必须在 build.gradle 文件中设置 JVM 调试参数,以便您能够远程调试本地开发服务器。

appengine {
...
jvmFlags = ['-Xdebug', '-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000']
}

然后需要在IntelliJ IDEA中创建运行/调试配置(根据以上参数),用于远程运行或调试进程。远程运行/调试使您能够连接到正在运行的 JVM。

您可以找到更多详细信息 here .但基本上转到运行/编辑配置...,在对话框中单击添加新配置 (+) 并选择远程。确保配置匹配 JVM 标志(尤其是端口)。保存并关闭对话框。

启动本地开发服务器并连接调试器(运行/调试)。

关于google-app-engine - IDEA+Gradle如何调试AppEngine本地服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24941620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com