use*_*800 5 c++ debugging gdb remote-debugging
我有一个服务器写入C++崩溃的生产环境,我无法直接访问.崩溃产生了一个巨大的核心转储~34G,我无法在本地复制.我需要分析核心转储但不知道如何在不复制它的情况下完成它.我尝试gdbserver在目标上运行,但它没有将核心文件作为参数,似乎只适用于从主机调试运行远程应用程序.有没有办法可以做到这一点?
我需要分析核心转储,但不知道如何在不复制它的情况下完成它。
你不能。您需要将核心转储放到可以运行 GDB 的位置。
我无法 ssh 到远程计算机,但可以要求系统管理员为我运行 gdbserver 之类的东西,但他无法分析和调试核心文件。
您不需要系统管理员来分析任何内容。你只需要让他运行一系列 GDB 命令,然后将输出发送给你。例如
where
thread apply all where
info registers
disas
Run Code Online (Sandbox Code Playgroud)
...将帮助您深入了解问题,并且系统管理员将花费不到 5 分钟的时间。
我仍然需要解压缩它才能在 gdb 上运行它,但我不想在本地计算机上执行此操作。
另外,请与您的经理交谈。你的开发设置不合理。您必须能够在本地分析生产崩溃,这意味着您必须能够使用足够强大的机器。