我正在处理的程序崩溃并生成核心转储。我认为这个问题与调用它的参数有关,其中一些参数是由另一个(相当复杂的)程序自动生成的。所以我尝试使用gdb
调试或file core.MyApplication.1234
获取参数。
但是,该命令非常冗长,输出类似于:
core.MyApplication.1234: ELF 64-bit LSB core file x86-64, version 1 (SYSV), SVR4-style, from './MyApplication -view -mwip localhost -mwnp 12345 -mwlp 12346 -mwti 12347 -Debu'
Run Code Online (Sandbox Code Playgroud)
(我确实更改了此示例的名称,但您明白了。)
我知道在这之后还有几个参数,但在核心文件中,命令总是被截断为 80 个字符。两者gdb
并file
报告此事。查看objdump
我的输出,我不确定其余部分是否已写入核心转储,因为它似乎在“-Debu”之后也被切断了。
我在 RHEL6 上运行它。我发现这个 2007 年的线程描述了使用 Solaris 系统的解决方案pargs
,但这在我的系统上不是有效命令,而且我发现 Red Hat“等效项”仅适用于运行进程,而不适用于核心文件。
如何恢复用于运行程序的整个命令?这甚至可能吗?