问题标签 [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.
linux - 如何在 Linux 中在分段错误时生成核心转储?
我在 Linux 中有一个进程出现分段错误。我如何告诉它在失败时生成核心转储?
linux - Linux 上的核心转储文件:如何获取打开文件的信息?
我有一个来自可能存在文件描述符泄漏的进程的核心转储文件(它打开文件和套接字,但显然有时忘记关闭其中一些)。有没有办法找出进程在崩溃之前打开了哪些文件和套接字?我无法轻易重现崩溃,因此分析核心文件似乎是获得错误提示的唯一方法。
debugging - 是否可以获得正在运行的进程及其符号表的核心转储?
是否可以获取 gdb 或使用其他一些工具来创建正在运行的进程的核心转储及其符号表?如果有办法在不终止进程的情况下做到这一点,那就太好了。
如果这是可能的,你会使用什么命令?(我正在尝试在 Linux 机器上执行此操作)
linux - 在 Linux 上的 gdb 中加载核心文件时,如何在目录前面添加库路径
我在无法直接访问的远程系统上生成了一个核心文件。我还有来自远程系统的库文件的本地副本,以及崩溃程序的可执行文件。
我想在 gdb 中分析这个核心转储。
例如:
我的库在当前目录中。
在过去,我看到调试器通过提供选项“-p”来实现这一点。或“-p /=。”;所以我的问题是:
在 gdb 中分析核心文件时,如何指定首先从相对于当前目录的路径加载库?
gdb - Solaris 核心转储分析
我使用 pstack 分析 Solaris 中的核心转储文件
我还能如何分析来自 solaris 的核心转储?
可以使用哪些命令来执行此操作?
从转储中可以获得哪些其他信息?
c - C 程序如何在不终止的情况下生成自身的核心转储?
我希望 C 程序在某些情况下生成核心转储。这是一个在生产环境中运行的程序,不容易停止和重新启动以调整其他类型的调试代码。另外,由于它是在生产环境中,我不想调用 abort()。正在调查的问题在非生产环境中不容易复制。我希望程序在检测到某些问题时自行生成核心转储,最好有足够的信息来重命名文件,然后继续。
python - 如何在生产系统的 Python 进程中找到正在使用内存的内容?
我的生产系统偶尔会出现内存泄漏,我无法在开发环境中重现。我在开发环境中使用了Python 内存分析器(特别是 Heapy)并取得了一些成功,但它无法帮助我处理无法重现的事情,而且我不愿意使用 Heapy 来检测我们的生产系统,因为它需要一段时间才能完成它的工作,并且它的线程远程接口在我们的服务器中无法正常工作。
我想我想要的是一种方法来转储生产 Python 进程(或至少 gc.get_objects)的快照,然后离线分析它以查看它在哪里使用内存。 如何获得这样的 python 进程的核心转储? 一旦我有了一个,我该如何用它做一些有用的事情?
python - 如何转储整个 Python 进程以供以后调试检查?
我有一个处于奇怪状态的 Python 应用程序。我不想对过程进行实时调试。我可以将其转储到文件中并稍后检查其状态吗?我知道我稍后在 gdb 中恢复了 C 程序的核心文件,但我不知道如何从 gdb 中以有用的方式检查 Python 应用程序。
(这是我关于在生产系统中调试 memleaks 的问题的一个变体。)
process - 你能冻结一个 C/C++ 进程并在不同的主机上继续它吗?
我想知道是否可以生成一个“核心”文件,将 if 复制到另一台机器,然后继续在该机器上执行核心文件?
我见过 gcore 实用程序,它可以从正在运行的进程生成核心文件。但我不认为 gdb 可以基于核心文件继续执行。
有没有办法只转储堆/堆栈并在以后恢复它们?
wiki - 哪个 wiki 会让我在单击其链接时动态创建一个页面?
对于我正在开发的应用程序 (*),我需要动态生成的页面和静态页面的混合。使用 wiki 会很酷,这样一旦第一次访问动态页面,它就会变成一个静态页面,用户可以像任何其他静态 wiki 页面一样对其进行注释。
换句话说,我想用 a) 生成 wiki 格式的新内容并将其存储在数据库中,然后 b) 解析并显示该文本.
哦,这应该是递归的——创建的页面可能有链接到更动态生成的页面等等。
我将根据其名称生成动态页面(包括任意深度的类别/命名空间信息)。
最后一件事 - 通过批处理脚本预先创建一些动态页面也很好(但不是必需的)(主要是为了性能,因为这些页面可能需要一些时间来生成)。
所以我的问题是哪个 wiki 软件最容易修改/编写插件来做到这一点?
(*) 想象一个 coredump 分析器(想想 gdb),您会看到一个转储列表(可能存储在某个远程机器上)。您单击转储,它会为您提供线程列表。您单击一个线程,它会为您提供堆栈。您单击堆栈帧,它会显示内存。您单击一个内存字,它会显示该地址处的内存页面,依此类推。
当您浏览转储时,您会添加有关您发现的问题的注释,以便以后为您提供帮助或与可能也在查看转储的同事分享。
几个月后,转储可能已经从远程机器上消失了(需要大量空间来归档所有这些转储),但现在您遇到了类似的问题。您将最近转储中的堆栈跟踪中的一个函数名称输入到 wiki 搜索框中,然后检索有关上一次事件的保存信息。
更新:感谢所有答案。我实际上可能会选择 MediaWiki。看起来我可以创建一个ArticleViewHeader 扩展,然后可以调用doEdit来创建页面(如果它尚不存在)。有一个VirtualPage 扩展似乎可以做类似的事情。