- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在查看一个挂起且不响应任何命令的 java 进程的核心。我对所有线程进行了线程堆栈转储,我看到的是重复的以下模式......
#0 0x00007fc38edbc04f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1 0x00007fc38df34f8b in ?? ()
#2 0x00007fc38800fb00 in ?? ()
#3 0x00007fc38800e800 in ?? ()
#4 0x00007fc38e5c864c in ?? ()
#5 0x00007fc38800c3f0 in ?? ()
#6 0x00007fc38f1df5a0 in ?? ()
#7 0x00007fc38deeaf65 in ?? ()
#8 0x00007fc38f1df5c0 in ?? ()
#9 0x00007fc38800c3f0 in ?? ()
#10 0x00007fc38800e800 in ?? ()
#11 0x00007fc38e5c7f68 in ?? ()
#12 0x00007fc38800e800 in ?? ()
#13 0x00007fc38800f5c0 in ?? ()
#14 0x00007fc38f1df5c0 in ?? ()
#15 0x00007fc38deec5fb in ?? ()
#16 0x00007fc38800e800 in ?? ()
#17 0x000000000000000b in ?? ()
#18 0x00007fc38f1df700 in ?? ()
#19 0x00007fc38dfd66b1 in ?? ()
#20 0x00007fc3455c9af8 in ?? ()
#21 0x00007fc38800e800 in ?? ()
#22 0x00007fc3455c9af8 in ?? ()
#23 0x00007fc300000000 in ?? ()
#24 0x00007fc300000019 in ?? ()
#25 0x0000000000000000 in ?? ()
我尝试执行 info mem 0x00007fc38df34f8b
但没有成功。我也无法反汇编任何这些框架 IP。
我知道在java中,通过JIT,代码是在运行时生成的。不过,我应该能够拆卸它,对吧?当我在 gdb 中加载核心时,它不会提示它被截断。另外,我正确设置了 solib-path 以指向该进程的 jre 库。
另外...我不认为堆栈已损坏。例如,如果我反汇编 pthread_cond_wait
我会看到以下内容,它为本地变量设置空间......
Dump of assembler code for function pthread_cond_wait@@GLIBC_2.3.2:
0x7fc38edbbf90 <pthread_cond_wait@@GLIBC_2.3.2>: lea rsp,[rsp-0x28]
0x7fc38edbbf95 <pthread_cond_wait@@GLIBC_2.3.2+5>: cmp QWORD PTR [rdi+0x20],0xffffffffffffffff
现在查看[rsp+40]
(gdb) print $rsp+40
$12 = (void *) 0x7fc38f1df538
(gdb) x/4ga 0x7fc38f1df538
0x7fc38f1df538: 0x7fc38df34f8b 0x7fc38800fb00
0x7fc38f1df548: 0x7fc38800e800 0x7fc38e5c864c
可以看到[rsp+40]
= 0x7fc38df34f8b
匹配下一帧的IP地址...
#0 0x00007fc38edbc04f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1 0x00007fc38df34f8b in ?? ()
此外,进一步查看机器,我看到一个 kern.log 文件,其中包含以下内容:
2019-07-23T02:13:10.766604+00:00 orc-del-pre-039 kernel: [18512637.857805] java: Corrupted page table at address 61517f050
2019-07-23T02:13:10.766618+00:00 orc-del-pre-039 kernel: [18512637.859136] PGD 800000037c453067 PUD 20df90067 PMD 343ed4067 PTE 80000002a1e4e867
2019-07-23T02:13:10.766618+00:00 orc-del-pre-039 kernel: [18512637.860977] Bad pagetable: 000f [#1] SMP
2019-07-23T02:13:10.766619+00:00 orc-del-pre-039 kernel: [18512637.861999] Modules linked in: dm_mod tcp_diag inet_diag crc32_pclmul ppdev aesni_intel evdev aes_x86_64 serio_raw lrw gf128mul parport_pc glue_helper ablk_helper pvpanic ena(O) parport cryptd processor button thermal_sys ext4 crc16 mbcache jbd2 crct10dif_pclmul crct10dif_common crc32c_intel nvme
2019-07-23T02:13:10.766620+00:00 orc-del-pre-039 kernel: [18512637.868712] CPU: 5 PID: 11213 Comm: java Tainted: G O 3.16.0-7-amd64 #1 Debian 3.16.59-1
所以我怀疑有什么东西损坏了 PTE,这就是为什么这些地址无法解析?
任何帮助表示赞赏。我试图找出进程挂起的原因。
最佳答案
I should be able to disassemble it, right?
如果您使用的是 disas 0x00007fc38df34f8b
,那么不行:GDB 不知道从哪里开始和结束反汇编。
您可以查看说明:使用如下内容:
x/40i 0x00007fc38df34f8b-35
但这不太可能有很大帮助。
已经有set of patches使混合语言调试能够与 Java 一起使用,但我不确定这些补丁是否成功了。
更新:
x/40i 0x00007fc38df34f8b-40
0x7fc38df34f63: Cannot access memory at address 0x7fc38df34f63
这意味着 pthread_cond_wait
没有正确的展开描述符,并且 where
的其余输出是伪造的。
关于java - 无法使用 java 进程的 gdb 核心反汇编 $PC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57188604/
我的 PC 上有一个服务器应用程序,它读取 jpg 文件并通过套接字将其发送到 Android 设备。问题是,当Android设备接收到字节数组时,无法将其转换为位图。我创建了一个 PC 应用程序来接
我创建了一个 JavaFX 应用程序。现在我想确保它不被复制到其他计算机上。更详细地说,我将该应用程序出售给一位客户,安装该应用程序后,我需要确保其不被从一台计算机复制到另一台计算机。 如何防止他人复
我构建了一个使用 Dynamic 关键字的程序。 在我的代码中,我这样做了: public void OnNext(ExpandoObject value) { dynamic expando
如何通过USB在两台PC之间进行通信?我想要一个程序通过 USB 端口将数字发送到另一台 PC,另一个程序将在该 PC 上显示这些数字。我觉得这是不可能的,因为 PC 是主机而不是设备,但 USB 真
我的代码在 virtualbox 中完美运行,但在真实 PC 上启动时却无法运行(从 BIOS 检测为 USB 硬盘驱动器的 USB 笔驱动器)。 在虚拟框中;该代码将磁盘的第 2 和第 3 扇区读取
在开发 PC HD 损坏后,我正在考虑让我的开发环境完全基于虚拟 PC。 核心项目是:- XP Pro 32- IIS- VS2003- VS2008- SQL Server 2005- Office
我目前使用的是 Windows Server 2008 Standard 并且有几台 Hyper V 机器。这些是开发 VM,我现在想切换回 Vista x64,因为我缺少 Aero。 我知道 Win
我使用 Virtual PC 来创建新的环境来测试我的安装程序。但我一定是做错了什么,因为内部装有 Vista 或 XP 的 VPC 镜像占用了大约 15GB 的磁盘空间(包括安装在其中的 VS200
大家好,我正在调试一些 CS 程序,为了查看应用程序在慢速互联网中的性能,我尝试了很多不同的方法。然而最好的是服务器端和客户端在同一台电脑上——我的服务器端和客户端的调试环境是在一台电脑上设置的。 所
我有兴趣制作一个将字符串从一台计算机传输到另一台计算机的应用程序。我对 TCP 或 UDP 通信感兴趣。我已经实现了 UDP,但它似乎能够发送最多 512 字节的数据/数据包。在两端实现数据包拆分和连
在为 Pocket PC 平台开发软件时,我一直很高兴地使用 Microsoft 随 Visual Studio 提供的 Pocket PC 模拟器(并且可以免费下载)。它提供了更快的开发/部署/测试
我想执行一个批处理文件 D:\apache-tomcat-6.0.20\apache-tomcat-7.0.30\bin\shutdown.bat 这是在我的服务器上 inidsoasrv01 . 我
我目前正在我的开发 PC 上使用 Jenkins。我把它安装在我的开发电脑上,因为我对这个工具的了解有限;所以我在我的开发电脑上对其进行了测试。现在,我对 Jenkins 作为我在构建过程中的长期“合
互联网上有很多示例展示了如何编写一个应用程序,使我们能够通过蓝牙与手机与电脑进行通信。但我想做的是通过蓝牙从另一台电脑控制一台电脑。我正在尝试使用蓝牙库。我在一台电脑上运行服务器,并尝试使用此处的示例
我正在寻找一个基准测试(以及在其他 PC 上的结果),它可以让我了解通过升级我的 PC 可以获得的开发性能提升,而且该基准测试可以用来向我的老板证明升级的合理性。 我使用 Visual Studio
我只在一台 PC 上有异常,在其他 PC 上一切正常,有人知道它是从哪里来的吗? dditional information: Requested Windows Runtime type 'Wind
我想创建一个软件,它可以使用 session 选项进行 pc 到 pc 调用(没有电话)。所有参与者将仅使用该软件。我擅长使用不同的语言、平台和数据库进行编程。但是我以前没有做过这种类型的软件。 我将
我做了这个布局。 template 唯一的问题是宽度问题。它因显示器而异,取决于显示器的宽度。主菜单和标题区域的左右两侧都有空白区域。在页脚的情况下你可以看到同样的情况.. 根据我的显示器宽度,我有
我在我的电脑上编译了一个内核,然后我把它安装在同一台电脑上,它工作正常。我的问题是如何在另一台计算机上安装相同的内核? 最佳答案 您需要复制 vmlinuz-[version number] 和 in
我正在使用 Mysql,我在两个不同的系统中有两个数据库。我希望我的本地数据库与远程数据库同步。这两个架构将具有相同的表和列。 每当远程数据库发生变化时,我的本地数据库中应该发生变化/更新。 怎么做?
我是一名优秀的程序员,十分优秀!