如何找出应用程序崩溃的原因-Win 10 LTSB

时间:2018-10-12 14:25:13

标签: c++ windows crash

我有使用VS 2017 15.7.4构建的应用程序,它是64位命令行C ++应用程序。

我已将其与所有依赖项DLL复制到具有Windows 10 Enterprise 2016 LTSB 64位(版本为10.0.14393)的计算机上。应用程序有效。

然后我将其复制到具有相同版本Windows的另一台计算机上。消息已停止工作立即停止。

编辑:找到原因,详细信息在注释中

我试图解决的问题:

  • Visual Studio 2017可再发行内容不会改变这种情况。
  • 事件日志中有一些崩溃事件,事件1001:没有任何有用的信息,只不过已加载了所有依赖模块dll。
  • 事件1000:无用
  • 事件1005有消息:
  

Windows由于以下原因之一而无法访问该文件:   网络连接有问题,该文件的磁盘   存储在此计算机上或存储在该计算机上的驱动程序;要么   磁盘丢失。 Windows关闭了程序my_program.exe,因为   错误。

     

程序:my_program.exe文件:

     

在“其他数据”部分中列出了错误值。用户操作

     
      
  1. 再次打开文件。这种情况可能是暂时的问题,可以在程序再次运行时自行纠正。
  2.   
  3. 如果仍然无法访问该文件,并且      
        
    • 它在网络上,网络管理员应验证网络是否存在问题以及服务器是否可以正常运行。   已联系。
    •   
    • 它位于可移动磁盘(例如软盘或CD-ROM)上,请确认该磁盘已完全插入计算机。
    •   
  4.   
  5. 通过运行CHKDSK检查并修复文件系统。若要运行CHKDSK,请单击“开始”,单击“运行”,键入CMD,然后单击“确定”。在命令   提示,键入CHKDSK / F,然后按Enter。
  6.   
  7. 如果问题仍然存在,请从备份副本中还原文件。
  8.   
  9. 确定是否可以打开同一磁盘上的其他文件。否则,磁盘可能已损坏。如果是硬盘,请与您的   管理员或计算机硬件供应商以寻求进一步的帮助。
  10.   
     

其他数据错误值:00000000磁盘类型:0

  • 我尝试使用VS 2017 15.8.4(与15.7.4不同)在不同的计算机上进行编译,然后二进制文件在目标计算机上工作。但是,这不是解决方案,因为该机器不用于“每晚构建”。
  • Depends不会显示任何缺少的依赖项

1 个答案:

答案 0 :(得分:0)

正如评论员指出的那样,我是寻找答案的正确方法: 事后调试-附加WinDbg-向我显示错误是“非法指令”,该指令也是“ vmovdqu”,这是AVX指令。而且实用程序CoreInfo显示该计算机CPU不支持AVX指令。解决方案是在没有这种支持的情况下进行编译。