前言

开发环境: win10x64最新版 + AD2019 + git

一个用git归档的AD2019工程,前一端时间打开是正常的。

这2天,打开后,总是打开后,能看到工程左边的文件树后,AD2019自己就退出了。整的我没法查看工程做好的工程。

怀疑是以下问题:

  • 路径太长了。但是也有疑惑,为啥前一段时间打开是正常的。
  • 是否git刷新文件图标影响了AD2019打开文件?但是也有疑惑,为啥前一段时间打开是正常的。

闪退前的AD2019截图
在这里插入图片描述
可以看到工程中,每个文件右边都有文件正在载入的图标(转圈载入的样子)。
然后再等不到1分钟, AD2019就退出了。
去找 AD2019的日志

C:\Users\my_name\AppData\Local\Altium\Altium Designer {0CB34B89-8D1B-4172-B73A-1E89764874F8}

AD程序并没有记录程序退出的原因。
这咋弄?
唯一的区别在于以前是svn归档,现在是git归档。路径不一样。
路径如下:

D:\my_dev\xxxx_git_checkout\xxxx_rep_xxxxxxxx\product\xxxxxxxxxx\src\pcb_prj\xxxxxx_board\xx_xxxxxxx_bottom_board.PrjPcb

算一下路径是否超长了。
写了测试代码,这个路径长度才120. 看来不是路径长度的问题

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#define SZ_URL "D:\\my_dev\\xxxx_git_checkout\\xxxx_rep_xxxxxxxx\\product\\xxxxxxxxxx\\src\\pcb_prj\\xxxxxx_board\\xx_xxxxxxx_bottom_board.PrjPcb"

int main()
{
	printf("SZ_URL len = %d\n", strlen(SZ_URL));
	system("pause");

	// run result
	/*
	SZ_URL len = 120
	请按任意键继续. . .
	*/

	return EXIT_SUCCESS;
}

看看是否是git集成在资源管理器中的UI 插件程序,刷新文件图标或有其他后台git操作影响了AD2019打开文件?

用mkdir 命令建立一个路径长度相同的目录,将此工程目录拷贝进去,再打开看看行不?

mkdir D:\my_dev\xxxx_git_checkout\xxxx_rep_xxxxxxxx\product\xxxxxxxxxx\src\pcb_prj\xxxxxx_board\

在资源管理器里面,打开目录 D:\my_dev\xxxx_git_checkout\xxxx_rep_xxxxxxxx\product\xxxxxxxxxx\src\pcb_prj\xxxxxx_board

将工程拷贝进去打开。
果真可以用AD2019正常打开此prj.pcb 😃
鄙人实验推论的不错啊:P

但是已经归档的工程,拷贝到其他目录,那我修改完,咋归档呢?
试试用subst将git目录模拟到不存在的物理磁盘试试。

@echo off

rem @filename dir2disk.cmd

rem @brief 将当前目录虚拟为磁盘

rem @note 如果注释中有中文, 必须要回车一行带一行空行,否则脚本运行后有乱码

rem 原因是注释和下面带的命令连在一起了, cmd的命令处理器可能没处理好

rem 清屏

cls

rem 删除subst虚拟磁盘z

call subst z: /D

rem 将当前目录虚拟为subst虚拟磁盘z

rem echo cur dir = %~dp0

call subst z: %~dp0

rem 此时打开文件资源管理器,在此电脑图标上点击

rem 在右侧磁盘列表区域空白处,右击菜单选择刷新, 就能看到subst模拟出来的磁盘

rem pause

双击dir2disk.cmd后,去Z盘的工程目录中,用AD2019打开工程,打开正常。
那这样的话,用subst来解决git后,AD2019闪退问题最有效。
在Z盘中修改完,实际git工程目录中的文件也被修改了。再归档没问题。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐