【问题标题】:longer stack trace for segmentation fault?分段错误的堆栈跟踪更长?
【发布时间】:2012-12-08 19:24:55
【问题描述】:

使用“-traceback”编译的 ifort 仅打印 10 行,但分段发生在至少 10 层的内部子程序中。因此,不会显示发生段错误的确切例程。

它的 MPI 程序和运行 gdb 不是一个可行的选择..

有什么帮助吗?

thnx

【问题讨论】:

  • Fortran 程序中段错误的两个常见原因是 (i) 试图寻址数组边界之外的数组元素和 (ii) 过程实际参数和虚拟参数不匹配。如果您使用正确的选项进行编译,ifort 通常可以诊断这两个问题(有关它们的含义,请参阅文档)。如果做不到这一点,并且将使用 gdb 的建议放在一边,您是否安装了 TotalView 或 DDT 两者都可用于调试 MPI 程序?
  • 我只知道 (i) 我添加了“-check all”(实际上是“-check bounds”)但找不到任何问题。它实际上与(ii)有关。谢谢!

标签: segmentation-fault gdb stack-trace intel-fortran traceback


【解决方案1】:

MPI 程序和运行 gdb 不是一个可行的选择。

为什么不呢?您应该启用核心转储,获取核心并使用 GDB 对其进行分析。

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-21
    • 2017-05-19
    • 1970-01-01
    相关资源
    最近更新 更多