的CreateProcess():“程序太大,无法在记忆”

我目前正在调试我崩溃处理程序,它是一个外部可执行时,我的程序发现未处理的异常结构被调用。 我重新编译崩溃处理程序的可执行文件,当我测试,我得到一个消息:“程序太大,无法在内存”。

周围挖了一会儿后,我发现这是由我的未处理的异常过滤器内的CreateProcess调用导致。 我发现这个职位,表明此错误消息表明可执行文件被损坏,但是如果我调用CrashHandler.exe在命令行中,我得到没有这样的错误。

其他信息:

  • 我试图重建我的应用程序和崩溃处理程序中多次调试和发布模式。
  • 我试图给正在运行的线程2个数量级更多的堆栈空间。
  • 我测试相同CrashHandler.exe在于已经使用它的另一个应用程序,并没有出现问题。
  • 我尝试使用之前工作的exe文件的以前版本,但相同的结果。
  • 重新启动系统。

我的电话给CreateProcess:

//Fire off the Handler //HandlerArgs = "CrashHandler.exe arg1 arg2 arg3 etc..." if(CreateProcess(NULL, HandlerArgs, NULL, NULL, TRUE, CREATE_PRESERVE_CODE_AUTHZ_LEVEL | CREATE_SUSPENDED, NULL, NULL, &StartupInfo, &NewProcessHandle))

--------------解决方案-------------

原来,我的构建后的钩子一人被复制了从源头上控制存储库中的exe文件,我只好在源代码控制库文件实际上是PDB。 测试时我是直接复制到我的运行文件夹,然后钩将复制“损坏”的exe再次超过。

分类:WINAPI 时间:2015-03-16 人气:168
本文关键词: WINAPI,CreateProcess的
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.547 (s). 10 q(s)