How to find out why application crashes - Win 10 LTSB

只谈情不闲聊 提交于 2021-02-17 05:26:04

问题


I have application built with VS 2017 15.7.4, it is 64-bit command-line C++ app.

I have copied it with all dependency DLL's to machine with Windows 10 Enterprise 2016 LTSB 64bit (ver says Version 10.0.14393). Application works.

Then I copied it to another machine with the same version of windows. There it stops right away with message stopped working.

edit: found the cause, details are in comments

What I tried to fix the problem:

  • Visual Studio 2017 redistributables do not change the situation.
  • Event log has some events for crash, event 1001: without any useful information except that all dependency module dll's have been loaded.
  • Event 1000: nothing of use
  • Event 1005 has message:

Windows cannot access the file for one of the following reasons: there is a problem with the network connection, the disk that the file is stored on, or the storage drivers installed on this computer; or the disk is missing. Windows closed the program my_program.exe because of this error.

Program: my_program.exe File:

The error value is listed in the Additional Data section. User Action

  1. Open the file again. This situation might be a temporary problem that corrects itself when the program runs again.
  2. If the file still cannot be accessed and
    • It is on the network, your network administrator should verify that there is not a problem with the network and that the server can be contacted.
    • It is on a removable disk, for example, a floppy disk or CD-ROM, verify that the disk is fully inserted into the computer.
  3. Check and repair the file system by running CHKDSK. To run CHKDSK, click Start, click Run, type CMD, and then click OK. At the command prompt, type CHKDSK /F, and then press ENTER.
  4. If the problem persists, restore the file from a backup copy.
  5. Determine whether other files on the same disk can be opened. If not, the disk might be damaged. If it is a hard disk, contact your administrator or computer hardware vendor for further assistance.

Additional Data Error value: 00000000 Disk type: 0

  • I tried to compile it on different machine, with VS 2017 15.8.4 (different from 15.7.4) and then the binary works on the target machine. Though, this is not solution, because this machine is not used for 'nightly builds'.
  • Depends does not show any missing dependencies

回答1:


As commenters pointed me to correct way of finding the answer: Postmortem debugging - attaching WinDbg - showed me that error was "Illegal instruction", also that instruction was "vmovdqu" which is AVX instruction. And utility CoreInfo shows that this machine CPU does not support AVX instructions. Solution is to compile without this support.



来源:https://stackoverflow.com/questions/52781629/how-to-find-out-why-application-crashes-win-10-ltsb

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!