搜索

3.3. 检查调试符号的配置

download PDF

您可以检查和设置调试符号的配置。

  • 输入以下命令获取安装的软件包列表:

    $ sudo yum list installed | grep 'java-11-openjdk-debuginfo'
  • 如果没有安装一些调试信息软件包,请输入以下命令安装缺少的软件包:

    $ sudo yum debuginfo-install glibc-2.28-151.el8.x86_64 libgcc-8.4.1-1.el8.x86_64 libstdc++-8.4.1-1.el8.x86_64 sssd-client-2.4.0-9.el8.x86_64 zlib-1.2.11-17.el8.x86_64
  • 如果要达到特定的断点,请运行以下命令:

    $ gdb -ex 'handle SIGSEGV noprint nostop pass' -ex 'set breakpoint pending on' -ex 'break JavaCalls::call' -ex 'run' --args java ./HelloWorld

    以上命令完成以下任务:

    • 处理 SIGSEGV 错误,因为 JVM 使用 SEGV 进行堆栈溢出检查。
    • 将待处理的断点设置为 yes
    • JavaCalls::call 函数中调用 break 语句。在 HotSpot (libjvm.so)中启动应用程序的功能。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.