为什么ntdll.dll崩溃我的c ++可执行文件? [英] Why is ntdll.dll crashing my c++ executable?

查看:4048
本文介绍了为什么ntdll.dll崩溃我的c ++可执行文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法获得Visual C ++可执行文件的工作,应用程序崩溃,这是我在事件查看器中看到的。

 故障应用程序名称:submit.exe,版本:0.0.0.0,时间戳:0x50a3cce7 
故障模块名称:ntdll.dll,版本:6.1.7601.17514,时间戳:0x4ce7ba58
异常代码:0xc0000374
故障偏移:0x000ce653
故障过程ID:0x8fc
故障应用程序启动时间:0x01cdc2a3da4f2997
故障应用程序路径:c:\submit.exe
故障模块路径:C:\Windows \SysWOW64\\\
tdll.dll
报告ID:1813823a-2e97-11e2-8675-000c29229191

在Visual Studio工作的旧版本中编译的可执行文件,但我得到的错误与可编译的可执行文件编译与更新的VS像2008或2010.请咨询


$ b $

b

请考虑使用应用程序验证器与Visual Studio调试器结合使用。


  1. 启动Visual Studio并编译您的应用程序

  2. 启动应用程序Verifier实用程序。
  3. 文件 => 添加应用程序

  4. 测试(例如堆,异常...)

  5. 使用Visual Studio 调试
    $ b 发生时...您的调试器将停止。

    此外,它还可以帮助您在开始之前加载缺少的符号。 测试。在Visual Studio 2012中,可以通过以下方式实现:
    调试 => 选项和设置 => code>调试
    => 符号 => 加载所有符号 p>

    祝你好运!



    参考





    :2015年7月



    完成后,请务必停用您启用的[em> AppVerfier ]检查...否则您可能会遇到意想不到的一面 - 如果您忘记了 AppVerifier ,则会在6个月内失效。


    I am having trouble to get a Visual C++ executable to work, the app crashes , here is what I have seen in the event viewer.

    Faulting application name: submit.exe, version: 0.0.0.0, time stamp: 0x50a3cce7
    Faulting module name: ntdll.dll, version: 6.1.7601.17514, time stamp: 0x4ce7ba58
    Exception code: 0xc0000374
    Fault offset: 0x000ce653
    Faulting process id: 0x8fc
    Faulting application start time: 0x01cdc2a3da4f2997
    Faulting application path: c:\submit.exe
    Faulting module path: C:\Windows\SysWOW64\ntdll.dll
    Report Id: 1813823a-2e97-11e2-8675-000c29229191
    

    The executable compiled in old versions of Visual Studio work but I get the error with the executable compiled with newer VS like 2008 or 2010. please advice

    解决方案

    Troubleshooting this type of problem can be a real challenge... particularly when you are not familiar with the code base.

    Consider using the Application Verifier in conjunction with the Visual Studio debugger.

    1. Start Visual Studio and compile your application
    2. Start the application Verifier utility.
    3. File => Add Application
    4. Select the appropriate Tests (e.g. heaps, exceptions,...)
    5. Use Visual Studio Debug to start your application.

    When something bad happens... your debugger will stop. This should give you a pretty good idea of the source of the problem.

    Also, it might help to load the missing symbols before starting your test. In Visual Studio 2012, you can do this by: Debug => Options and Settings => Debugging => Symbols => Load all symbols.

    Good luck!

    REFERENCES

    UPDATE: July 2015

    When you are done, be sure to disable the AppVerfier checks that you enabled... otherwise you may experience some unexpected side-effects 6 months down the road when you have forgotten about AppVerifier.

    这篇关于为什么ntdll.dll崩溃我的c ++可执行文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆