问题标签 [coredump]
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.
java - 如何调试 Java OutOfMemory 异常?
java.lang.OutOfMemoryError
调试异常的最佳方法是什么?
当我们的应用程序发生这种情况时,我们的应用程序服务器 (Weblogic) 会生成一个堆转储文件。我们应该使用堆转储文件吗?我们应该生成 Java 线程转储吗?究竟有什么区别?
更新:生成线程转储的最佳方法是什么?(我们的应用程序在 Solaris 上运行)是kill -3
终止应用程序并生成线程转储的最佳方法吗?有没有办法生成线程转储但不杀死应用程序?
embedded-linux - 无法核心转储 - 嵌入式 linux
我做了 ulimit -c unlimited / some number proc... core_pattern 是核心,我的 rootfs 和应用程序都是 debugversion [虽然不是内核] 知道为什么我无法在 kill -SIGABRT/SEGV pid 上获取 coredump
谢谢法里奥。
java - Java,获取核心转储
我希望能够以与分析 UNIX 系统上进程的核心转储相同的方式分析 Java 核心转储。但是,我对来自进程的信息不感兴趣,只有 JVM 级别的堆栈、堆等。核心转储将包含有关 Java 方法、变量等的信息。
- 如何告诉 JVM 构建 Java 级核心转储?
- 什么是分析所述转储的好工具?
例如,如果执行此代码
我会得到一个显示堆栈的核心转储main-->foo
linux - 如何增加 Linux 核心转储匹配符号的概率?
我有一个非常复杂的跨平台应用程序。最近我和我的团队一直在运行压力测试,并且遇到了几次崩溃(以及伴随它们的核心转储)。其中一些核心转储非常精确,可以向我显示大约 10 个或更多堆栈帧发生崩溃的确切位置。其他人有时只有一个堆栈帧与 ?? 成为唯一的象征!
我想知道的是:
- 有没有办法增加核心转储指向正确方向的概率?
- 为什么报告的堆栈帧数不一致?
- 任何管理核心转储的最佳实践建议。
这是我编译二进制文件的方式(在发布模式下):
- 编译器和平台:在 CentOS 3.6 x86_64 上带有 glibc-2.3.2-95.50 的 g++——这有助于我保持与旧版本 Linux 的兼容性。
- 所有文件都使用 -g 标志编译。
- 调试符号从最终的二进制文件中删除并保存在单独的文件中。
- 当我有核心转储时,我将 GDB 与创建核心的可执行文件和符号文件一起使用。GDB 从不抱怨核心/二进制/符号之间不匹配。
然而,我有时会得到根本没有符号的核心转储!我正在链接非调试版本的 libstdc++ 和 libgcc 是可以理解的,但如果至少堆栈跟踪显示我的代码中错误指令调用的来源(尽管它最终可能以 ?? 结尾),那就太好了。 .
c++ - 如何配置 Windows 以从应用程序生成核心转储?
如何配置 Windows 以从应用程序生成核心转储?
我使用的是 Win xp,该应用程序是使用 Visual Studio 2003 构建的。
python - 如何从核心转储中分析内存使用情况?
我在 Linux 下有一个核心转储。该过程继续进行内存分配横冲直撞,我至少需要找到发生这种情况的库。
您建议使用什么工具来广泛了解内存的去向?我知道这个问题很难/完全无法解决。任何至少可以提供一些线索的工具都会有所帮助。
[这是一个python进程,怀疑内存分配是由用C编写的自定义模块之一引起的]
linux - Linux 中的选择性核心转储 - 如何选择转储部分?
我正在寻找一种方法来选择核心转储中包含的部分和内存区域。
我的应用程序的核心转储大小约为 30GB,其中大部分位于我在调试时甚至不需要的预分配缓冲区中(以后可以归零)。但是,由于转储太大,应用程序需要很长时间才能完成崩溃并开始恢复。
谁能想到一种方法来提前选择核心转储中的哪些段?
谢谢
c++ - libc 退出调用中的核心转储
我在程序的退出过程中看到了 solaris 中的核心转储。如何调试和修复这种核心转储?
linux - 如何从停止的程序中获取核心转储(linux)
我有一个程序,被kill -STOP
. 我想在不运行它的情况下对其进行核心转储(程序必须一直停止;如果它会收到 SIGCONT,它会在没有 coredump 的情况下死掉)。如何获得核心转储?
进行核心转储后是否可以将程序保持在当前状态?这是一种非常罕见的情况,我无法重现它,但我必须分析它。
谢谢
更新:gcore 不起作用。Gdb(甚至是 root)无法附加到停止的进程(在 ptrace PTRACE_ATTACH 上永远等待)。甚至 dd 也无法从 /proc/99999/mem 中读取,而 /proc/99999/maps 的偏移量很好(错误是No such process
)。
如果我尝试将 gdb 附加到进程并将 SIGCONT 发送到停止的进程,我得到了
如果我去 gdb 并保存一个核心,它将被破坏。“无法从内存中读取有效的目标文件图像。”
gdb - *** 检测到 glibc *** free(): 无效指针:0x00050530 *** & coredump & no valgrind on ARMv5
我有
和核心转储
由于平台限制ARMv5没有valgrind
我可以从 coredump 和那个地址获得什么有用的信息?