我最近从 Windows XP 和 Visual Studio 2005 更新到 Windows 7 和 Visual Studio 2012,并带来了大量的 Fortran 代码(内置 VS 和英特尔编译器)。我现在遇到了几个可能相关或不相关的错误:
当调用 foo(char1,real1,real2) 形式的子例程时,其中 char1 在调用子例程和 foo 中的长度均为 200,我得到“forrtl:严重(408):fort:(18):虚拟字符变量 'char1 ' 长度为 200,大于实际变量长度 -858993460 Image PC Routine Line Source libifcoremdd.dll 02AED3FE Unknown Unknown Unknown Stack trace异常终止” 我环顾四周,该数字似乎是转换为整数的十六进制地址(0xcccccccc)。为什么它会传递一个无意义的地址而不是长度?
当我尝试调试问题时,我在子例程调用处设置了一个断点并尝试介入,我收到一个错误“No Source Available No symbols are loaded for any call stack frame. The source code cannot be display”。
我还注意到我收到了几十个“无法找到或打开 PDB 文件”。似乎与我的源代码没有直接关系的错误。
不幸的是,该错误嵌入了数千行专有代码中,因此我无法将其全部发布,也无法通过一个简单的示例重现该错误。
有人对尝试的事情有任何建议吗?谢谢!