1

我正在运行这样的hadoop工作

bin/hadoop jar /usr/joe/wordcount.jar org.myorg.WordCount /usr/joe/wordcount/input /usr/joe/wordcount/output

我的问题:我该如何调试jdb呢?我不需要远程调试。该作业正在我要调试的同一台机器上运行。

4

1 回答 1

0

您始终可以将 jdb 连接到正在运行的进程。

在调试模式下运行 Java 应用程序的简单方法是使用调试参数运行它:

“-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=32887”

应用程序启动后,您始终可以使用 jps 查找它并使用 jdb 连接到进程

您还可以导出 _JAVA_OPTIONS 变量,这样所有 JVM 都可以使用这些设置。这样,您启动的任何 JVM 都将始终以调试模式运行。但请记住,只有第一个能够侦听 TCP/IP 端口。

于 2016-08-29T19:45:47.893 回答