| 查看: 2449 | 回复: 9 | ||
[求助]
fortran 调用子程序时,出现program exception-access violation 已有1人参与
|
|
大家好,本人fortran新人,编了一段程序,但是在运行时出现了如题所示的错误! 因为程序太长,而且错综复杂,不方便贴出,敬请见谅! 下面我进行一些相关的描述,请各位指导! 我通过debug调试出问题的出处:错误信息出现在subroutine info_nd(...)这一行 其中:step,nelm, nj,nnode 是在主程序中声明的整数常量 剩余的变量全是数组,全部是动态变量,而且我全部在主程序中进行了allocate,各个数组的维数以及上下界和子程序中声明的完全一样。 调试时,屏幕输出了“info_nd调试开始”,没有输出“info_nd调试第一点”,而且绿色箭头指向了subroutine info_nd(...),所以我断定问题出处在这一行。 我网上搜了一下,这种问题的可能原因之一是数组越界,但是我感觉我的这种定义数组的形式应该不会造成这个问题(?) 此外,有这样一个现象:nj = 6904,nelm=6804的时候,无论debug还是release都会在subroutine info_nd(...)这一行出现如题目所说的问题;但是当我把nj,nelm调小了之后(<6000),发现debug下可以运行成功,但是release仍然出现上述问题。 所以在此请教大家,恳请予以指导!谢谢! 主程序 program main integer,parameter:: step=10,nj=6904,nelm=6804,nnode=4 ...... ...... do istp = 1,step ...... write(*,*)'info_nd调试开始' call info_nd(step,istp,nelm,nj,nnode,maxgint,id_el_nd,id_nd_el,num_nd_el,gint_t,gint,elarea,stgp,svars_gp,sig11_nd,sig22_nd,sig12_nd,mises_nd) ...... end do ...... end !主程序结束 出现问题的子程序 subroutine info_nd(step,istp,nelm,nj,nnode,maxgint,id_el_nd,id_nd_el,num_nd_el,gint_t,gint,elarea,stgp,svars_gp,sig11_nd,sig22_nd,sig12_nd,mises_nd) implicit none integer step,istp,nelm,nj,nnode integer:: id_el_nd(nelm,nnode),id_nd_el(nj,nelm),num_nd_el(nj),gint_t(nelm+1,step),gint(nelm,step),maxgint(step) real*8:: svars_gp(nelm,20*24,step),elarea(nelm),stgp(3,24*nelm,step) real*8:: sig_nd_temp(nnode,3),sig11_nd_temp(nj,nelm),sig22_nd_temp(nj,nelm),sig12_nd_temp(nj,nelm) real*8:: sig11_nd(nj,step),sig22_nd(nj,step),sig12_nd(nj,step),mises_nd(nj,step),area(nj) real*8:: NTN(nnode,nnode),invNTN(nnode,nnode) real*8,allocatable:: sig_gp(:, ,N(:, ,NT(:, ,invN(:,![]() real*8 sigp,tigp integer gint_el,gint_iel integer iel,igp,i,j,ii write(*,*)'info_nd调试第一点' ...... end |
» 猜你喜欢
垃圾破二本职称评审标准
已经有19人回复
职称评审没过,求安慰
已经有53人回复
毕业后当辅导员了,天天各种学生超烦
已经有5人回复
26申博自荐
已经有3人回复
A期刊撤稿
已经有4人回复
» 本主题相关价值贴推荐,对您同样有帮助:
关于fortran子程序调用内部函数
已经有7人回复
C语言调试时出现Unhandled exception 0xc0000005:Access Violation怎么回事
已经有4人回复
【求助】fortran加载外部子程序时总是提示关闭程序
已经有10人回复
【求助】Fortran如何调用模块中子程序
已经有6人回复
pippi6
铁杆木虫 (著名写手)
工程和科学数值计算咨询
- 应助: 413 (硕士)
- 贵宾: 0.002
- 金币: 7116.5
- 散金: 15
- 红花: 63
- 帖子: 1639
- 在线: 798.9小时
- 虫号: 2469437
- 注册: 2013-05-14
- 专业: 计算数学与科学工程计算
2楼2014-11-03 18:50:05
3楼2014-11-03 21:35:45
4楼2014-11-04 10:12:38
pippi6
铁杆木虫 (著名写手)
工程和科学数值计算咨询
- 应助: 413 (硕士)
- 贵宾: 0.002
- 金币: 7116.5
- 散金: 15
- 红花: 63
- 帖子: 1639
- 在线: 798.9小时
- 虫号: 2469437
- 注册: 2013-05-14
- 专业: 计算数学与科学工程计算
5楼2014-11-04 14:07:08
|
下面是调试程序运行时出现的信息: “NASA_mb05_p1.exe”: 已加载“D:\XDT\IVF\NASA_mb05_p1\NASA_mb05_p1\x64\Debug\NASA_mb05_p1.exe”,已加载符号。 “NASA_mb05_p1.exe”: 已加载“C:\Windows\System32\ntdll.dll” “NASA_mb05_p1.exe”: 已加载“C:\Windows\System32\kernel32.dll” “NASA_mb05_p1.exe”: 已加载“C:\Windows\System32\KernelBase.dll” “NASA_mb05_p1.exe”: 已加载“D:\Program Files (x86)\Intel\Composer XE 2013\redist\intel64\compiler\libiomp5md.dll”,已加载符号(去除源信息)。 “NASA_mb05_p1.exe”: 已加载“C:\Windows\System32\imagehlp.dll” “NASA_mb05_p1.exe”: 已加载“C:\Windows\System32\msvcrt.dll” “NASA_mb05_p1.exe”: 已加载“C:\Windows\System32\advapi32.dll” “NASA_mb05_p1.exe”: 已加载“C:\Windows\System32\sechost.dll” “NASA_mb05_p1.exe”: 已加载“C:\Windows\System32\rpcrt4.dll” “NASA_mb05_p1.exe”: 已卸载“C:\Windows\System32\advapi32.dll” “NASA_mb05_p1.exe”: 已卸载“C:\Windows\System32\sechost.dll” “NASA_mb05_p1.exe”: 已卸载“C:\Windows\System32\rpcrt4.dll” “NASA_mb05_p1.exe”: 已加载“C:\Windows\System32\advapi32.dll” “NASA_mb05_p1.exe”: 已加载“C:\Windows\System32\sechost.dll” “NASA_mb05_p1.exe”: 已加载“C:\Windows\System32\rpcrt4.dll” “NASA_mb05_p1.exe”: 已卸载“C:\Windows\System32\advapi32.dll” “NASA_mb05_p1.exe”: 已卸载“C:\Windows\System32\sechost.dll” “NASA_mb05_p1.exe”: 已卸载“C:\Windows\System32\rpcrt4.dll” NASA_mb05_p1.exe 中的 0x0000000140586727 处最可能的异常: 0xC0000005: 写入位置 0x000000000000f000 时发生访问冲突 “NASA_mb05_p1.exe”: 已加载“C:\Windows\System32\dbghelp.dll” HEAP[NASA_mb05_p1.exe]: HEAP: Free Heap block 20a80 modified at 21000 after it was freed Windows 已在 NASA_mb05_p1.exe 中触发一个断点。 其原因可能是堆被损坏,这说明 NASA_mb05_p1.exe 中或它所加载的任何 DLL 中有 Bug。 原因也可能是用户在 NASA_mb05_p1.exe 具有焦点时按下了 F12。 输出窗口可能提供了更多诊断信息。 程序“[3172] NASA_mb05_p1.exe: 本机”已退出,返回值为 0 (0x0)。 不知道从“HEAP[NASA_mb05_p1.exe]: HEAP: Free Heap block 20a80 modified at 21000 after it was freed”中能得到什么信息吗 |
6楼2014-11-04 15:55:59
pippi6
铁杆木虫 (著名写手)
工程和科学数值计算咨询
- 应助: 413 (硕士)
- 贵宾: 0.002
- 金币: 7116.5
- 散金: 15
- 红花: 63
- 帖子: 1639
- 在线: 798.9小时
- 虫号: 2469437
- 注册: 2013-05-14
- 专业: 计算数学与科学工程计算
7楼2014-11-04 17:20:43
8楼2014-11-04 21:08:54
9楼2016-05-12 16:32:33
10楼2016-05-12 16:33:53













,N(:,
回复此楼