问题标签 [jdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
570 浏览

debugging - 使用 jdb 进行 Ensime 调试不加载项目类

我正在将Ensime用于一个sbt项目。当我ensime-db-start在单元测试中运行时,src/test/scala/<pkg>.../Myclass.scala我无法设置断点,然后我立即得到ClassNotFoundException

在此错误之后发出classpath表明该类在类路径中。

在相关说明中,我也无法在使用C-c C-d b序列发出运行命令之前设置断点。我明白了

找不到给定权限的课程信息

也许我不明白 Ensime 是如何启动 JVM 的 - 任何指针表示赞赏。

我可以从内部很好地运行单元测试sbt,也可以从下面很好地运行一个类src/main/scala/...

我正在使用ensime0.10.1 和jdk1.6.0_26。

0 投票
1 回答
531 浏览

java - 使用 jdb 进行调试

试图找出我的方法Sphinx 4(Java 中的 CMU 语音识别引擎),我尝试使用分发中包含的演示,将其更改为我想要的(演示的名称是Aligner)。我遇到了问题,想jdb从命令行使用它来调试。我阅读了此处给出的文档,但它是有限的,并没有解决我的问题,简而言之如下:

  1. 我这样调用jdb:(
    jdb Aligner 项目主类的名称)。
  2. 像这样设置断点:stop at Aligner:33
    我得到的输出(在命令行上):
    Deferring breakpoint Aligner:33.
    It will be set after the class is loaded.

  3. 在文件demo.xml(这是该项目的 makefile 等效项)
    javac debug=true中提到了。

我的问题:
1. 我应该从哪里调用jdb?应该从整个 sphinx 目录中的任何位置调用它,还是应该从与它相同的目录调用它Aligner.java
2.我如何使用jdb这个jar项目?

PS:我知道我可以使用 Eclipse,但我不确定我知道该怎么做。我的首要任务是启动并运行它。

PPS:我是 Java 新手,对这门语言了解不多。我对命令行的偏好来自于我在命令行上的 C/C++ 编程背景。

非常欢迎任何帮助,
谢谢!

0 投票
1 回答
1374 浏览

android - 从 JDB 调试 Android 应用程序(在 Emacs 中)

好的,所以我一直在尝试从 jdb 调试 Android 应用程序。

我运行模拟器,安装应用程序,运行 ddms,然后启动应用程序,然后在 DDMS 中选择它。现在我使用以下命令运行 jdb

jdb -attach localhost:8700 -sourcepath /project-root/src

jdb 能够附加到进程,然后是一个命令,例如

停在 com.android.helloworld.onClick

效果很好。

但是,当我在 Emacs 中使用 Cx 空间时,它会运行带有行号的命令,

停在 com.android.helloworld:22

我得到这个输出

无法设置断点 com.android.helloworld:22:com.android.helloworld 中的第 22 行没有代码

我检查了行号是否正确,并尝试传递文件名本身,但无济于事。有任何想法吗?

0 投票
1 回答
4309 浏览

java - 在 jdb 中调试时“bci”是什么?

在命令行上使用 jdb 进行调试时,它会在每个步骤之后显示一个状态行,如下所示:

什么是 bci,它对我有什么用处?

0 投票
2 回答
960 浏览

java - 比 jdb 更好的 Java 远程调试器?

我知道如何使用 jdb 和 Eclipse 在 Java 中进行远程调试。jdb 在调试 UI 方面还有很多不足之处,但不需要“设置” - 只需运行jdb -attach ...并 bam 你就是一个调试器。Eclipse 有一个更好的 UI,但是您必须设置一个 Java 项目,其中包含远程运行的所有源文件、依赖项 jar、源 jar 等的本地副本。

是否存在任何具有 jdb 的“轻量级”属性但为您提供更丰富的 (G)UI 的调试工具?

0 投票
1 回答
994 浏览

java - jsadebugd/jdb 并运行 clear JVM

使用 jsadebugd 或 jdb 可以调试已经运行的 JVM,无需任何参数即可启动。我不明白这怎么可能,因为我认为 JVM 通过 JIT 将字节码编译为本机代码,并且无法调试。

有人可以解释一下吗?

以及这种不时的调试如何影响性能?

0 投票
1 回答
429 浏览

oracle - Oracle JDB 瘦客户端 - 未使用 varchar2 的唯一索引

首先是一些基础知识。

Java 6 OJDBC6 Oracle 10.2.0.4(在 11g 版本中也是同样的结果)

我遇到一个 sql 语句在使用 OJDBC6 客户端从 Java 执行并使用可能使用本机/OCI 驱动程序的工具 SQL Gate 时表现不同。出于某种原因,优化器选择对 Java 中执行的语句使用散列连接,而不是其他语句。

这是表格:

指数:

这是我使用的 SQL:

最后是解释计划的摘录:

SQL 工具查询:

QQL Java 查询 OJDBC 瘦客户端:

所以,我不知道为什么优化器选择了哈希连接?我的猜测是 varchar2 的处理方式不同。

0 投票
2 回答
2181 浏览

java - 可以从 jdb 中杀死单个 java 线程吗?

理论上,JDB(Java 调试器)允许杀死单个线程。在实践中,有可能吗?在这里,我将 jdb 附加到我的 JVM,它在端口 8000 上有一个 agentlib:

我列出了线程:

我找到有问题的线程并尝试杀死它:

所以线程不能被杀死?

如何在 jdb 中创建一个新的 Exception,将其交给线程而死?

0 投票
1 回答
232 浏览

debugging - 如何在 JDB 中调试 GWT 项目?

我有一个 GWT Eclipse 项目,我正在使用 Eclipse 来调试项目。GWT 项目也依赖于其他项目。使用 Eclipse 调试器真的很容易,但是会消耗更多的内存。Java 进程消耗 500MB 和 eclipse 大约 500 MB,firefox(GWT Plugin) 也是如此。所以我想使用 JDB 来调试我的 GWT 项目。

我该怎么做以及如何将 Tomcat 服务器连接到 jdb ..?

0 投票
1 回答
406 浏览

scala - JDB 忽略 Scala 对象中方法的断点

我正在使用 JDB 来调试 Scala 代码,到目前为止它主要工作。但是,一个特定的断点永远不会被命中,它是在 Scala 对象的方法上设置的(在方法入口上,而不是在特定的行号上)。

当我单步执行代码时,我可以看到正在输入该方法,但是无论我尝试多少次,断点都永远不会命中。我设置的所有其他断点,包括同一项目中代码上的断点,都会被命中。

我已经设置了带有和不带有 $-suffixed 类名的断点。

这里可能是什么问题?

该类上没有其他同名的方法,所以即使我没有告诉 JDB 方法参数类型,这也没有关系——这里没有重载。