火山软件开发平台

标题: 同样的源代码和火山环境,两台电脑一台正常一台报错。 [打印本页]

作者: IvzCX    时间: 2022-11-10 18:31
标题: 同样的源代码和火山环境,两台电脑一台正常一台报错。
本帖最后由 IvzCX 于 2022-11-10 18:33 编辑

同样的源代码和火山环境,两台电脑一台正常一台报错。源代码和火山安装文件夹都是复制的,完全一样,跑样例可以两台都可以正常编译运行。


正常是的Win7 64位。源代码是在win7 电脑上写的,因为日渐觉得win7电脑性能较差,编译太慢,
于是把写了许久的源代码复制到server2019的服务器系统上进行编译打算继续写。

server2019调试就报错,win7不会报错可以正常调试。
server2019的火山右键属性里勾了管理员权限运行。
把win7下debug的linker目录复制到server2019下也可以正常运行。就是无法在server2019你调试运行。


火山版本是加密狗个人版
(, 下载次数: 11)
(, 下载次数: 13)


作者: 创世魂    时间: 2022-11-10 18:47
server2019 系统也算是比较新的。。竟然还会报错。。没遇到过。。
作者: key5    时间: 2022-11-10 20:18

更新下C++运行库
作者: server    时间: 2022-11-10 20:32
key5 发表于 2022-11-10 20:18
更新下C++运行库

vs环境还是安装的好,无错,
作者: 乐易论坛    时间: 2022-11-11 01:55
// 本对象必定处于已经被构造且尚未被销毁状态
        assert (m_npObjectState == 1);  // 注意此处不能使用ASSERT,因为里面内部构造错误报告信息时会又去分配内存.
作者: IvzCX    时间: 2022-11-11 15:08
乐易论坛 发表于 2022-11-11 01:55
// 本对象必定处于已经被构造且尚未被销毁状态
        assert (m_npObjectState == 1);  // 注意此处不能 ...

普通用户怎么处理呢,这个不动C++,不清楚怎么去改H文件
作者: 乐易论坛    时间: 2022-11-11 16:27
IvzCX 发表于 2022-11-11 15:08
普通用户怎么处理呢,这个不动C++,不清楚怎么去改H文件

意思是 你的对象没释放 又创建了  考虑是不是 没有销毁代码之类的
作者: IvzCX    时间: 2022-11-11 19:06
乐易论坛 发表于 2022-11-11 16:27
意思是 你的对象没释放 又创建了  考虑是不是 没有销毁代码之类的

这个可能没有办法排查,代码量太多了,是一点都无法调试双击就报错。奇怪的是,同样的代码,同样的火山vol_dev安装文件夹,win7没有问题可以编译调试,server2019无法调试,把win7编译出的linker文件夹复制到server2019也可以运行。
作者: 乐易论坛    时间: 2022-11-11 20:42
IvzCX 发表于 2022-11-11 19:06
这个可能没有办法排查,代码量太多了,是一点都无法调试双击就报错。奇怪的是,同样的代码,同样的火山vo ...

那应该就是编译环境不同导致的.
作者: pengtusheng    时间: 2022-11-12 13:33
你是不是用了 加入格式化的命令
作者: 飞扬工作室    时间: 2022-11-12 13:37
这是因为 全局或静态 变量在内部的主程序实例变量销毁之后销毁的原因造成的,正常情况下不会出现此问题,因为火山编译器对此进行了针对性处理. 你能否提供一个最小化的可重现问题的程序,并提供出问题机器上你所使用的vs版本? 另外,如果你的程序中使用了多线程,请确保在主程序退出之前已经将其全部退出运行.
作者: IvzCX    时间: 2022-11-12 17:37
pengtusheng 发表于 2022-11-12 13:33
你是不是用了 加入格式化的命令

格式化时间吗?使用了格式化时间和取格式文本。除了lkuaiy的FOF模块外,没有使用其他第三方模块了
作者: lhy201233    时间: 2022-11-12 18:39
一看就是系统的问题,一个阉割一个没阉割,就这么简单
作者: IvzCX    时间: 2022-11-12 19:27
lhy201233 发表于 2022-11-12 18:39
一看就是系统的问题,一个阉割一个没阉割,就这么简单

两个都是原版哦,从来不用阉割系统,都是MSDN原版
作者: IvzCX    时间: 2022-11-12 19:33
本帖最后由 IvzCX 于 2022-11-12 19:45 编辑
飞扬工作室 发表于 2022-11-12 13:37
这是因为 全局或静态 变量在内部的主程序实例变量销毁之后销毁的原因造成的,正常情况下不会出现此问题,因为 ...

是调试运行程序报错,运行不起来,都没有运行何来销毁。程序是个ERP客户端,程序中的所有销毁都是在登录之后,运行程序先是在主窗口等待输入帐号密码Login。login之后才有部分销毁的操作。情况是打开就报错了。


所编译程序位数: 64; 所使用 VS 本地编译器版本: 16; 所使用 Windows SDK 版本: 10.0.18362.0(内置)







欢迎光临 火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4