C 发生崩溃时查看堆栈

C 发生崩溃时查看堆栈,c,unix,debugging,aix,dbx,C,Unix,Debugging,Aix,Dbx,我使用的是AIX操作系统。在这里,我遇到了一个问题,即当进程崩溃时,日志中没有写入堆栈。它只是给出了信号11/10/4已发生的信息。 但是没有显示堆栈。 由于该代码是一个优化的代码,我甚至无法使用dbx进行去毛刺。未安装gdb。 你能建议在程序崩溃时如何查看堆栈跟踪吗。 可以使用任何其他工具,或者使用任何cheet方法来查看实际堆栈跟踪 提前感谢您的帮助。这适用于AIX 5.1: 在启动二进制文件之前,使用ulimit命令设置内核转储的限制(限制可能设置为0,这意味着您根本没有获得任何内核转储)

我使用的是AIX操作系统。在这里,我遇到了一个问题,即当进程崩溃时,日志中没有写入堆栈。它只是给出了信号11/10/4已发生的信息。 但是没有显示堆栈。 由于该代码是一个优化的代码,我甚至无法使用dbx进行去毛刺。未安装gdb。 你能建议在程序崩溃时如何查看堆栈跟踪吗。 可以使用任何其他工具,或者使用任何cheet方法来查看实际堆栈跟踪

提前感谢您的帮助。

这适用于AIX 5.1:

在启动二进制文件之前,使用ulimit命令设置内核转储的限制(限制可能设置为0,这意味着您根本没有获得任何内核转储)。您需要在与运行的进程相同的shell中执行此操作。然后可以使用调试器查看内核中的堆栈。不过,您需要在二进制文件中包含调试符号,以使其更有意义。查看“man ulimit”了解ulimit的工作原理。祝你好运