问题标签 [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.
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/...
我正在使用ensime
0.10.1 和jdk
1.6.0_26。
java - 使用 jdb 进行调试
试图找出我的方法Sphinx 4
(Java 中的 CMU 语音识别引擎),我尝试使用分发中包含的演示,将其更改为我想要的(演示的名称是Aligner
)。我遇到了问题,想jdb
从命令行使用它来调试。我阅读了此处给出的文档,但它是有限的,并没有解决我的问题,简而言之如下:
- 我这样调用
jdb
:(
jdb Aligner
项目主类的名称)。 像这样设置断点:
stop at Aligner:33
我得到的输出(在命令行上):
Deferring breakpoint Aligner:33.
It will be set after the class is loaded.在文件
demo.xml
(这是该项目的 makefile 等效项)
javac debug=true
中提到了。
我的问题:
1. 我应该从哪里调用jdb
?应该从整个 sphinx 目录中的任何位置调用它,还是应该从与它相同的目录调用它Aligner.java
?
2.我如何使用jdb
这个jar
项目?
PS:我知道我可以使用 Eclipse,但我不确定我知道该怎么做。我的首要任务是启动并运行它。
PPS:我是 Java 新手,对这门语言了解不多。我对命令行的偏好来自于我在命令行上的 C/C++ 编程背景。
非常欢迎任何帮助,
谢谢!
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 行没有代码
我检查了行号是否正确,并尝试传递文件名本身,但无济于事。有任何想法吗?
java - 在 jdb 中调试时“bci”是什么?
在命令行上使用 jdb 进行调试时,它会在每个步骤之后显示一个状态行,如下所示:
什么是 bci,它对我有什么用处?
java - 比 jdb 更好的 Java 远程调试器?
我知道如何使用 jdb 和 Eclipse 在 Java 中进行远程调试。jdb 在调试 UI 方面还有很多不足之处,但不需要“设置” - 只需运行jdb -attach ...
并 bam 你就是一个调试器。Eclipse 有一个更好的 UI,但是您必须设置一个 Java 项目,其中包含远程运行的所有源文件、依赖项 jar、源 jar 等的本地副本。
是否存在任何具有 jdb 的“轻量级”属性但为您提供更丰富的 (G)UI 的调试工具?
java - jsadebugd/jdb 并运行 clear JVM
使用 jsadebugd 或 jdb 可以调试已经运行的 JVM,无需任何参数即可启动。我不明白这怎么可能,因为我认为 JVM 通过 JIT 将字节码编译为本机代码,并且无法调试。
有人可以解释一下吗?
以及这种不时的调试如何影响性能?
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 的处理方式不同。
java - 可以从 jdb 中杀死单个 java 线程吗?
理论上,JDB(Java 调试器)允许杀死单个线程。在实践中,有可能吗?在这里,我将 jdb 附加到我的 JVM,它在端口 8000 上有一个 agentlib:
我列出了线程:
我找到有问题的线程并尝试杀死它:
所以线程不能被杀死?
如何在 jdb 中创建一个新的 Exception,将其交给线程而死?
debugging - 如何在 JDB 中调试 GWT 项目?
我有一个 GWT Eclipse 项目,我正在使用 Eclipse 来调试项目。GWT 项目也依赖于其他项目。使用 Eclipse 调试器真的很容易,但是会消耗更多的内存。Java 进程消耗 500MB 和 eclipse 大约 500 MB,firefox(GWT Plugin) 也是如此。所以我想使用 JDB 来调试我的 GWT 项目。
我该怎么做以及如何将 Tomcat 服务器连接到 jdb ..?
scala - JDB 忽略 Scala 对象中方法的断点
我正在使用 JDB 来调试 Scala 代码,到目前为止它主要工作。但是,一个特定的断点永远不会被命中,它是在 Scala 对象的方法上设置的(在方法入口上,而不是在特定的行号上)。
当我单步执行代码时,我可以看到正在输入该方法,但是无论我尝试多少次,断点都永远不会命中。我设置的所有其他断点,包括同一项目中代码上的断点,都会被命中。
我已经设置了带有和不带有 $-suffixed 类名的断点。
这里可能是什么问题?
该类上没有其他同名的方法,所以即使我没有告诉 JDB 方法参数类型,这也没有关系——这里没有重载。