gpt4 book ai didi

intellij-idea - 如何在gradle.build中调试空指针异常

转载 作者:行者123 更新时间:2023-12-03 05:14:21 25 4
gpt4 key购买 nike

我有这个gradle.build groovy文件:

task BL_generate_parallel_warmup(type: JavaExec) {
if (project.hasProperty('serverversion')) {
args(serverversion)
}
if (project.hasProperty('input_flavor')) {
systemProperties['input_flavor'] = input_flavor
print "gradle input_flavor" + input_flavor
}
jvmArgs = ["-Xms1024m", "-Xmx1024m"]
classpath sourceSets.main.runtimeClasspath
dependsOn resources_cleaner_bl
systemProperties['isDummyRun'] = 'true'
main = "astar.BlParallelGenerator"
}

在我将其重构为:
def setSystemProperties() {
if (project.hasProperty('serverversion')) {
args(serverversion)
}
if (project.hasProperty('input_flavor')) {
systemProperties['input_flavor'] = input_flavor
print "gradle input_flavor" + input_flavor
}
jvmArgs = ["-Xms1024m", "-Xmx1024m"]
classpath sourceSets.main.runtimeClasspath
}



//warm up

task BL_generate_parallel_warmup(type: JavaExec) {
setSystemProperties()
dependsOn resources_cleaner_bl
systemProperties['isDummyRun'] = 'true'
main = "astar.BlParallelGenerator"
}

我收到此错误:
Error:(121, 0) A problem occurred evaluating root project 'MyProject'.
<a href="openFile">Open File</a>

更新

我通过更改解决了这个问题:
def setSystemProperties(project) {
if (project.hasProperty('serverversion')) {
args(serverversion)
}
if (project.hasProperty('input_flavor')) {
systemProperties['input_flavor'] = input_flavor
print "gradle input_flavor" + input_flavor
}
jvmArgs = ["-Xms1024m", "-Xmx1024m"]
classpath sourceSets.main.runtimeClasspath
}



//warm up

task BL_generate_parallel_warmup(type: JavaExec) {
setSystemProperties(project)
dependsOn resources_cleaner_bl
systemProperties['isDummyRun'] = 'true'
main = "astar.BlParallelGenerator"
}

如何在intellij中调试它?

我按调试运行,并在gradle构建中添加了一个断点,但是它并没有停止。

我已经尝试过像这样的“编辑配置”:

enter image description here
但这并没有使代码在断点处停止

最佳答案

可以在以下位置找到用于Gradle调试的引用文档:https://www.jetbrains.com/idea/help/create-run-debug-configuration-for-gradle-tasks.html

要为Gradle任务创建调试配置,请在Gradle工具窗口中右键单击该任务,然后选择“创建”。您将获得有关如何配置调试配置的选项。

由于您使用的是JavaExec类型的任务,因此还有另一个选择。
您可以在主类中放置一个断点,并在IntelliJ中配置一个远程调试 session 。
enter image description here

如图所示,我已经创建了一个侦听端口5005的远程类型调试配置。
然后在JavaExec类型任务中,您将添加debug=true选项,如下所示:

task runApp(type: JavaExec){
classpath file('c:/data/test')
main = 'TestMain'
debug = true
}

要对其进行调试,您可以在IntelliJ中单击Gradle插件中的 runApp任务,然后启动 Local_Port_5005远程调试 session 并使该任务在您的断点处停止。

enter image description here

关于intellij-idea - 如何在gradle.build中调试空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35868928/

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