你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
按照设置 Service Fabric 开发环境中的步骤启动本地开发群集。
更新要调试的服务的 entryPoint.sh,以便使用远程调试参数启动 Java 进程。 可以在以下位置找到此文件:
ApplicationName\ServiceNamePkg\Code\entrypoint.sh
。 设置了端口 8001,以便在此示例中进行调试。java -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Djava.library.path=$LD_LIBRARY_PATH -jar myapp.jar
通过将要调试的服务的实例计数或副本计数设置为 1 来更新应用程序清单。 此设置可避免用于调试的端口出现冲突。 例如,对于无状态服务,设置
InstanceCount="1"
;对于有状态服务,将目标和最小副本集大小设置为 1,如下所示:TargetReplicaSetSize="1" MinReplicaSetSize="1"
。部署应用程序。
在 Eclipse IDE 中,选择“运行”->“调试配置”->“远程 Java 应用程序和输入连接属性”,然后按如下所示设置属性:
Host: ipaddress Port: 8001
在所需的位置设置断点并调试应用程序。
如果应用程序发生故障,则可能还需要启用 coredump。 在 shell 中执行 ulimit -c
,如果返回 0,则 coredump 未启用。 若要启用不受限制的 coredump,请执行以下命令: ulimit -c unlimited
。 还可以使用命令 ulimit -a
验证状态。 若要更新 coredump 生成路径,请执行 echo '/tmp/core_%e.%p' | sudo tee /proc/sys/kernel/core_pattern
。