解释fortran 90中的内存地址

阿米尔

是否有任何方法可以直接或间接在fortran(90)中解释十六进制地址。例如,有时我遇到内存分段问题,其次是Failing at address: 0x1fffffff8更完整的消息是这样的:

[amir-desktop] *** Process received signal ***
[amir-desktop] Signal: Segmentation fault (11)
[amir-desktop] Signal code: Address not mapped (1)
[amir-desktop] Failing at address: 0x1fffffff8
[amir-desktop] [ 0] /lib/libpthread.so.0(+0xf8f0) [0x2af5efcb08f0]
[amir-desktop] [ 1] test.exe(__box_mod_MOD_constructlist+0x35c) [0x44052c]
[amir-desktop] [ 2] test.exe(__box_mod_MOD_box_move+0x72) [0x443372]
[amir-desktop] [ 3] test.exe() [0x44c81b]
[amir-desktop] [ 4] test.exe(main+0x1d) [0x41336d]
[amir-desktop] [ 5] /lib/libc.so.6(__libc_start_main+0xfd) [0x2af5f59a9c8d]
[amir-desktop] [ 6] test.exe() [0x41391d]

是否有可能通过一个简单的print语句意识到该地址与特定变量有关。我知道该loc函数将输出有关变量地址的整数(如果它们可以转换为十六进制类型的地址,则会出现另一个问题)。我猜想有可能为此目的使用调试器。如果有人也可以对此发表评论(以及一些建议),我将不胜感激。

我目前正在使用gfortran 4.6。在linux下发行。

谢谢

优素里亚人

这行:

[amir-desktop] [ 1] test.exe(__box_mod_MOD_constructlist+0x35c) [0x44052c]

告诉您错误出constructlistbox_mod模块中的函数我将首先从那里查找任何明显的错误。

尝试使用以下标志进行编译:

gfortran -g -fbacktrace -fbounds-check -Wall test.f90

这些将(按顺序):打开调试符号,打印出回溯记录,检查数组范围,并在编译期间打印有关不安全代码的大多数警告。

如果那仍然不能解决您的问题,则可以gdb在核心转储上使用。这是程序崩溃时的状态记录。您首先需要通过ulimit -c unlimited在终端中运行来启用核心转储接下来,运行您的代码-您将收到类似错误Segmentation fault (core dumped)-,它将创建一个名为core的文件core.pid,其中pid是一个数字。最后,您可以gdb像这样运行

gdb ./test.exe core.pid

它会打印一堆信息,然后(gdb)提示您。运行堆栈跟踪bt以查看程序崩溃时发生的情况。quit将退出gdb。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何解释内存地址分配的顺序?

来自分类Dev

汇编中的内存地址

来自分类Dev

跟踪Java中的内存地址

来自分类Dev

链表C ++中的内存地址

来自分类Dev

如何查看内存地址中的对象?

来自分类Dev

C中变量的逻辑内存地址

来自分类Dev

如何在Fortran MPI数据传输子例程中解释<type> buf(*)

来自分类Dev

数组的内存地址

来自分类Dev

比较内存地址

来自分类Dev

共享内存地址

来自分类Dev

从虚拟内存地址中查找物理内存地址

来自分类Dev

从虚拟内存地址中查找物理内存地址

来自分类Dev

如何在Haskell中打印列表的内存地址

来自分类Dev

C#在特定的内存地址中创建对象

来自分类Dev

如何在变量中存储64位内存地址?

来自分类Dev

如何通过C中的内存地址获取数组索引?

来自分类Dev

我无法在C中编辑内存地址

来自分类Dev

C中的函数指针和内存地址

来自分类Dev

如何在DLL中查找特定指令的内存地址

来自分类Dev

为什么指针中的内存地址很重要

来自分类Dev

python中的内存地址生成器

来自分类Dev

如何缩短内存地址以使其在 IntPtr 中工作?

来自分类Dev

在 Ada 中维护记录成员的固定内存地址

来自分类Dev

保存指针的内存地址

来自分类Dev

Lambda函数的内存地址

来自分类Dev

指针返回内存地址?

来自分类Dev

numpy元素的内存地址

来自分类Dev

调试无效的内存地址

来自分类Dev

PCI BAR内存地址