关于VScode测试Fortran代码出现错误提示(提示Unable to start debugging)的问题

按照此位前辈的方法

Windows下VSCode搭建Fortran环境 - QLuffe - 博客园

配置完Fortran所需环境及下载完成VScode所需插件以及编写完两个jason文件后,运行简单的Fortran代码出现下方所示错误提示:

 网上找了资料,只是说路径不能有中文,尝试了之后发现,说的不全面,应该是“.vscode”这个文件所在路径不能有中文(且".vscode"文件有1个就可以了),.f90的文件所在路径可以有中文。

. 若是每次新建一个.f90文件,都将".vscode"文件也顺带着复制到其所在文件夹后,运行.f90文件会以你上一次或者是第一次创建的.f90所对应的".vscode"为准,假设第一次创建的最原始的".vscode"文件成vscode_1,之后复制到其他文件加的叫作vscode_2,同时存在多个.vscode文件Visual Studio Code编辑器会去找第一个vscode文件(即vscode_1),如果这个.vscode文件其路径中有中文的话就会出现上图错误,如果碰巧第一次创建的.vscode 文件在一个纯英文路径,则以后怎么随便复制都不会出错,所以很多人按照上文链接的方法配置完不报错,这是一个巧合问题,但很多人比如我就没那么好的运气。。。有点气。。。

举个例子

我创建了2个.f90文件,一个2022_12_19_fortran_for_hello_world_1(存于桌面的111文件夹中,其路径为C:\Users\Admin\Desktop\111),一个2022_12_19_fortran_for_hello_world_2(存于桌面的111_for_例子文件夹中,其路径为C:\Users\Admin\Desktop\111_for_例子)。如下图

首先需要在VScode中将111与111_for_例子这两个文件夹(其中包含.vscode文件夹)添加到VScode的工作区中,

如果不添加到工作区只是用VScode运行.f90文件的话会提示没有用于调试'Fortran - Modern'的拓展,就是说只是单纯打开.f90文件而不将其所在文件夹添加到工作区,VScode是找不到".vscode“这个文件夹的,也就找不到其中的.json文件,如下图

将.f90所在文件夹添加到工作区后,进行下一步:尝试运行.f90文件

最原始的.vscode文件是111文件夹中的文件,此时运行111文件夹中的.f90文件,能正常运行,结果如下:(请注意红橙黄三线标注的内容)

 再打开111_for_例子文件夹中的.f90文件,其所在路径有中文,但也能正常运行,结果如下:(请继续留意红黄橙三线标注的内容)

 

两图比较可发现,终端中,G:...\gfortran.exe两者没变化,用的都是同一个程序,-g后面的内容不同,一个是111文件夹对应的hello_world_1.f90,一个是111_for_例子文件夹对应的hello_world_2.f90,而-o后面的内容有相似也有不同,但主要的是都对应111文件夹,我猜这个就是.vscode的杰作。

接下来看运行之后的111和111_for_例子这两个文件

可以看到在111文件夹中出现了两个.exe文件,分别是运行两个.f90产生的

此时,如果我删掉111文件夹中对应的.vscode文件夹会怎样呢?

 结果是运行.f90报错

因为本来有两个.vscode文件夹,初始版本是111文件夹中的.vscode(下文简称vscode_1),其所在路径是全英文,然后又复制粘贴了一个111_for_例子文件夹,里面有副本的.vscode文件夹(下文简称vscode_2),其所在路径存在中文。

当英文路径下的vscode_1存在时,Visual Studio Code优先以vscode_1为主,程序可运行。当将vscode_1删除后,只剩vscode_2,Visual Studio Code会以vscode_2为基础,其所在路径存在中文,再次运行,便会出现题目中的错误。

如果将111_for_例子改成“111_for_example”会怎样呢

.f90程序能运行。

总结如下:

1、出现题目所提问题的原因是程序运行所需的.vscode文件夹其所在路径不是纯英文

将其所在路径改成纯英文即可解决问题,而不是只改.f90所在路径为纯英文

2、.vscode文件夹只需一个即可,.f90运行所产生的.exe文件都会存在最原始的.vscode文件夹所在的文件夹。

3、若要去别的路径重新创立新的路径,就将之前的.vscode文件夹删掉,新创立的路径中存放新的.vscode文件夹,注意,.vscode文件夹所在路径需是纯英文。

4、还有一种方法就是从终端的-g 路径 -o路径下手,这个与用python打包.exe有异曲同工之处,应该可以指定特定位置的.vscode文件夹,就不必删除重建了

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值