首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用YourKit连接到Java命令行工具?

如何使用YourKit连接到Java命令行工具?
EN

Stack Overflow用户
提问于 2010-04-01 21:19:14
回答 5查看 6.6K关注 0票数 4

我已经用Java构建了一个命令行工具,现在我想用YourKit来分析它。我启动命令行工具的方式如下:

代码语言:javascript
复制
$ java -classpath .:foo.bar.jar com.foobar.tools.TheTool arg1 arg2 arg3

它在不到2秒的时间内完成。

在阅读了http://www.yourkit.com/docs/80/help/agent.jsp之后,我尝试了以下几点:

代码语言:javascript
复制
$ java -agentpath:/home/dspitzer/yjp-8.0.24/bin/linux-x86-32/libyjpagent.so -classpath .:foo.bar.jar com.foobar.tools.TheTool arg1 arg2 arg3

我明白:...and:

代码语言:javascript
复制
[YourKit Java Profiler 8.0.24] JVMTI version 3001016d; 14.3-b01; Sun Microsystems Inc.; mixed mode, sharing; Linux; 32-bit JVM
[YourKit Java Profiler 8.0.24] Profiler agent is listening on port 10001...
[YourKit Java Profiler 8.0.24] *** HINT ***: To get profiling results, connect to the application from the profiler UI
...

(然后工具运行到完成并退出。)

我猜想(至少在默认情况下) YourKit被设计为只连接到正在运行的应用程序。

如何修改命令行工具以允许来自YourKit的连接?

  1. 我可以添加一个命令行选项,让它暂停输入,在从YourKit连接到它之前,我不会按返回键继续。
  2. 是否有一个YourKit API可以添加到我的工具中,使它阻塞,直到我连接到YourKit为止?
  3. 是否有一个YourKit API或java命令行选项可以创建YourKit以后(在命令行工具完成后)加载和分析的分析“快照”?
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-04-02 10:17:01

在分析器“连接”之前,无法暂停配置文件的应用程序;您只是不需要这样做。

相反,请执行以下操作:

  • 在启动时打开所需的分析模式。例如,如果需要分析CPU使用情况,可以使用相应的启动选项“取样”或“跟踪”启动CPU采样或CPU跟踪。请参阅options.jsp
  • 如果配置文件的应用程序运行时间较短,请使用"onexit=snapshot“启动选项在退出时启用快照捕获。稍后,在分析器UI中打开捕获的快照进行分析。
票数 5
EN

Stack Overflow用户

发布于 2010-04-01 21:32:12

我不知道有一个YourKit选项可以这样做(这并不是说没有),但是有一个Java调试选项可以这样做。

除了YourKit代理选项之外,还可以尝试在命令行中添加以下内容:

代码语言:javascript
复制
-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y

这将导致VM在启动时立即挂起,等待调试器在端口8000上连接。YourKit本身并不是一个调试器,但是像Eclipse或Netbean这样的IDE将完成这项工作,基本的jdb命令行也会这样做。

因此,在设置了两个选项的情况下,运行该命令,连接YourKit,然后使用调试器连接到调试端口,这将触发VM继续执行,允许YourKit获取所需的数据。

最好使用YourKit来完成这一切,但我不知道有这样的方法。

票数 2
EN

Stack Overflow用户

发布于 2010-04-01 21:40:23

您可以通过Eclipse启动它,它有一个YourKit插件,可以在应用程序启动时启动。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2563777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档