问题标签 [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 回答
245 浏览

java - Android:startService 以 java.lang.RuntimeException 结束 - 如何使用 jdb 进行调试?

我正在尝试创建一个运行后台线程的简单应用程序。目的是向我的卵石手表发送一些数据,例如手机电池状态等。

我看这里: https ://developer.android.com/training/run-background-service/create-service.html

写了一些代码(我在这里跳过了“导入”):

编译(“ant -q debug”),安装在手机上(adb install ...),就是Moto G lollipop;当我运行该应用程序时,它崩溃了。如果我删除 startService(),它不会。我尝试通过 jdb 查看发生了什么,但我只看到这个:

和“看所有”打印像这样的回溯(最后两个重复10次):

问题是 - 调试此类问题的技术是什么?代码中有什么明显的错误吗?

0 投票
1 回答
304 浏览

java - 在 MATLAB 中调试 Java - 找不到 jdb

我正在尝试使用此处的说明在 matlab 中调试 java 应用程序。

Matlab 启动良好并回显:

JVM 在启用调试的情况下启动。

使用“jdb -connect com.sun.jdi.SocketAttach:port=4444”来附加调试器。

但是当我尝试附加调试器时,我得到:

>> jdb -connect com.sun.jdi.SocketAttach:port=4444

'char' 类型的输入参数的未定义函数 'jdb'。

我究竟做错了什么?

0 投票
0 回答
243 浏览

java - jdbRealm和BASIC http:密码登录成功,网页显示403

我创建了一个简单的 maven web 项目,并尝试使用 BASIC 身份验证和 jdbRealm 来保护它。

在我的 glassfish 4.0 服务器上,我创建了一个领域并启用了“默认主体到角色映射”。安全日志记录级别设置为最好。

我的 web.xml 看起来像这样:

领域似乎工作。当我运行该项目时,会弹出一个身份验证屏幕并且登录成功:

玻璃鱼输出:

但是页面显示 HTTP 状态 403 - 禁止。我不知道。我也尝试过使用自定义主体角色映射,但它也不起作用。

0 投票
0 回答
231 浏览

java - java调试器——快捷键

总结:需要jdb快捷键来终止一个挂着的程序

细节: 我从命令行使用 jdb。我继续收到“ArrayIndexOutOfBoundsException”。这会挂起 jdb。我想要退出程序的键盘快捷键。目前,我必须关闭命令提示符才能退出。这让我付出了额外的努力。谢谢你。

0 投票
1 回答
1074 浏览

java - Java's JDB (and Eclipse) hang when connecting to remote JVMs with many threads (i.e. transmitting thread debug information via TCPIP)

Problem Description

Hi everyone,

I was having problems remote debugging to a new server today and it initially appeared as if Eclipse was taking a long time to connect to a remote JVM. However, after some investigation I realized jdb was having a similar problem. Some digging turned up this...

Connecting to the remote JVM is not a problem. Both debuggers establish the socket connection properly within a few seconds. jdb even processes commands. However, after a remote debugger has connected to it successfully, the Sun Java 1.7.0_60-b19 JVM appears to be hanging (or transmitting extremely slowly) when sending its thread debugging information (JVMTI/JDWP) across the network via TCPIP.

Listing the remote JVM's threads appears to be the problem. JDB's threads command either hangs or executes extremely slowly. The load on the remote JVM is reasonable, and there aren't any breakpoints set. There are many threads executing on this JVM concurrently (~2005 threads), and there may be some WAN latency, but there still needs to be a way to successfully use a remote debugger with it!

Observation. I'm guessing this is related to inefficient transmission of thread information via TCPIP by the JVM's Java Debug Wire Protocol (JDWP) implementation, as the machine is on the other side of the planet on a WAN. HOWEVER -- Windows Remote Desktop Connection to the same machine is acceptably fast and performant. Given that, it seems that having to wait 45 minutes for Eclipse or JDB to list thread information on a JVM is unacceptable and likely a bug (or a very poorly implemented feature).

Possibly related to?

  1. http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6401245 - This looks like it was fixed and shouldn't be the issue anymore. Plus the JVM is running on Windows Datacenter not Linux.
  2. http://www.eclipsecon.org/2013/comment/reply/1153.html - Possible solution but requires the SAP JVM?
  3. https://github.com/vpotapev/jbreakpoint - Open source jdb interface but doesn't fix issue with Eclipse.

Question. Does anyone have any ideas how to make the thread data transmission more efficient so the JVM can be remote debugged effectively? Is this a bug in the JVM's Java Debugging Wire Protocol (JDWP)?

Problem Details

Java Version:

Application Server. Happens with Weblogic 10g. Also happens with IBM WebSphere 8.5

Eclipse. Eclipse remote debugging hangs indefinitely when trying to populate the Debug view with thread information.

JDB - Remote. Java's jdb remote debugger hangs for upwards of 10 minutes when listing the threads with the thread command. Then it lists them VERY slowly (1 thread per second, would take 33 minutes to list them all).

JDB - Local. Java's jdb remote debugger executes the threads command in 3 seconds when run on the JVM's local machine.

0 投票
1 回答
207 浏览

java - Java Debugger 在不中断的情况下运行应用程序

我有无处不在的 HelloWorldApp.java 文件

我跑:

然后我运行:

我得到:

我输入:

提示的地方

然后我得到

我输入:

提示的地方

然后我得到

我没有在最后一个提示上输入任何内容,它只是退出而没有中断。我的问题是为什么它会输出那些 Throwable 行,为什么调试器没有在我给它的断点处停止?

0 投票
1 回答
755 浏览

java - 从 java 应用程序将 jdb 作为进程运行时输出不完整

我正在尝试从 java 程序调试一个 java 类。我创建了一个简单的类来测试。这是我的课hello.java,它位于文件夹中C:\Users\madhawax\Desktop\beaufify\debugging

我的问题是我无法检索零件

当我jdb从 java 代码运行时,但是当我jdb从命令行手动运行时,我可以看到它。

为什么我只得到实际输出的一部分?我怎样才能解决这个问题?

这是我的Hello.java课:

我使用了 3 个命令来运行 jdb

使用 cmd 手动调试时的控制台输出。

当我使用 java 代码运行 jdb 时的输出。

我使用此代码运行 jdb。

0 投票
1 回答
447 浏览

hadoop - 如何使用 jdb 调试 hadoop jar 作业?

我正在运行这样的hadoop工作

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

0 投票
0 回答
456 浏览

java - DDMS:无法将 jdb 连接到 DDMS 端口

我正在学习android,并在不使用IDE的情况下通过ant开发应用程序。我使用 ant debug 构建应用程序,并使用 adb 将它们部署在模拟器上。我已将应用程序标记为等待调试器从开发人员设置中附加。但是,当我尝试将 jdb 连接到 DDMS 端口时,我得到了

我试过了

模拟器上的应用程序仍然显示对话框,等待调试器连接。

0 投票
1 回答
107 浏览

maven - 如何用maven编译一个项目,以便可以从jdb调试?

我正在努力学习jdb。我有一个 Maven 项目。jdb当我使用list无法看到任何源代码的命令时,我尝试对其进行调试。我收到这条消息:

那么我应该如何使用 maven 编译一个项目,以便以后可以对其进行调试jdb并且我可以看到源代码?