首页 新闻 会员 周边 捐助

应用程序出现的一个奇怪问题

0
悬赏园豆:40 [待解决问题]

最近做了一个工控的应用程序,出厂前测试一切正常;出厂后用一段时间,大部分都没有问题,有一部分客户会反映软件功能异常,异常还不一样,有的打不开、有的UDP消息发不出去、有的访问文件时报路径不对。假设软件安装位置为:d:\V1.0\myApp.exe,把程序复制一份到:d:\V1.0-2\myApp.exe,复制的程序运行正常。过一段时间有可能还是会报错,再复制到d:\V1.0-3\myApp.exe,复制的程序还是正常的。环境是Windows10+.Net Framework 4.5.2,没有安装杀毒软件,设备也不可以上网,电脑是安装在设备内部的,软硬件都不会有人能动。

问题补充:

出现问题时,重启机器后再重新运行程序,问题还是在。目前唯一的解决办法就是改目录名称。

seabluescn的主页 seabluescn | 初学一级 | 园豆:104
提问于:2022-02-28 13:24
< >
分享
所有回答(4)
0

有没有可能是内存溢出?

会长 | 园豆:12463 (专家六级) | 2022-02-28 13:40

如果是内存溢出的话,为什么换个位置运行就不溢出了?

支持(0) 反对(0) seabluescn | 园豆:104 (初学一级) | 2022-02-28 13:54

@seabluescn: 可能是假象,换个位置肯定需要重新运行,重新运行内存释放了。只是提供一个思路,不一定是内存溢出,毕竟我掌握的信息不多。

我是觉得你说报错每次报的不一样,可能由于内存溢出导致的。

我觉得可以这样:不要每次都换个地方解决这个问题。下次报错时,集中精力对具体的错误进行分析,看看能不能找到原因。现在都是猜测

支持(0) 反对(0) 会长 | 园豆:12463 (专家六级) | 2022-02-28 16:50

@会长: 出现问题后一般都会重启机器,正常的就正常,不正常的仍不正常。

支持(0) 反对(0) seabluescn | 园豆:104 (初学一级) | 2022-03-01 08:14

@seabluescn: 还得从错误入手,想办法调试一下,比如把日志写的更详细一些,从日志入手

支持(0) 反对(0) 会长 | 园豆:12463 (专家六级) | 2022-03-01 10:20
0

你得看看报错报的是啥,.Net 错误定位也很方便,一旦出错就会弹出错误信息窗,可以查调用堆栈就能定位到出错函数。

寂静的羽夏 | 园豆:2133 (老鸟四级) | 2022-02-28 13:51

核心问题是换个位置运行就不报错了。

支持(0) 反对(0) seabluescn | 园豆:104 (初学一级) | 2022-02-28 13:55

@seabluescn: 我觉得不必纠结于为什么换个位置就好了。从错误入手,找到问题的根源,到时候就知道为什么换个地方就好了。不过换个地方就好了这个信息也可以参考,比如是不是和读写文件有关

支持(0) 反对(0) 会长 | 园豆:12463 (专家六级) | 2022-03-01 10:22
0

去报错的机器上 本地调试

ycyzharry | 园豆:25683 (高人七级) | 2022-02-28 21:58

报错的机器一般在客户那边,不太方便调试。要命的是在本地无论如何都复现不了这个故障。

支持(0) 反对(0) seabluescn | 园豆:104 (初学一级) | 2022-03-01 08:15

@seabluescn: 找到报错的位置,记录详细日志

支持(0) 反对(0) 会长 | 园豆:12463 (专家六级) | 2022-03-01 10:22

@seabluescn: 只能让客户配合下 可以远程啊

支持(0) 反对(0) ycyzharry | 园豆:25683 (高人七级) | 2022-03-06 17:16
0

可以试试在代码里用绝对路径,相对路径可能会报错

jqw2009 | 园豆:2341 (老鸟四级) | 2022-03-02 09:35

是用的绝对路径,文件访问报错时,一般提示文件名包含特殊字符,但复制出来的程序就不会报错。访问的是同一个文件。
核心问题是:程序之前是好的,用一段时间才报错,而且概率不大。所以绝对不是一个常规逻辑问题。

支持(0) 反对(0) seabluescn | 园豆:104 (初学一级) | 2022-03-02 11:32

@seabluescn: 提示文件名包含特殊字符,那就是你程序哪里修改了文件名吧
或者你说一下你的文件名的生成方式

支持(0) 反对(0) jqw2009 | 园豆:2341 (老鸟四级) | 2022-03-02 13:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册