C++/CLI程序启动时_CrtIsValidHeapPointer(pUserData)错误

原创 2011年01月12日 09:55:00

 奇怪的错误,坑死个人啊!!当C++/CLI程序引用了native lib顺利编译之后,程序启动有可能出现以下错误(_CrtIsValidHeapPointer(pUserData)):

 

这是ms的一个已知bug,原因:

 

The reason why you get this error is that a winforms application has a managed entry point. The initialization of the native global objects is done by the CRT (C RunTime) startup routine. Since in this case there is no CRT startup routine the MyBoard global object fails to initialize correctly.

IDE is specific the entry of ManagedApp as "main". However, using "main" will bypass a lot of CRT's startup initialization.

 

解决方法:

右键点击项目--->properties--->link--->advanced

把Entry Point从main改为 "?mainCRTStartupStrArray@@$$FYMHP$01AP$AAVString@System@@@Z"

 

 原理:

That should re-enable the CRT startup code which initializes the internal CRT variables.That symbol is really the mangled name for "int __clrcall mainCRTStartupStrArray(cli::array<class System::String ^ >^)".

 

VS调试程序_ASSERTE(_CrtIsValidHeapPointer(pUserData))崩溃的原因以及解决方法

调试程序,对动态申请的内存用free或者delete释放时程序崩溃,跳出如下对话框: 点击重试,定位到具体的CRT源码部分:_ASSERTE(_CrtIsValidHeapPointer(p...
  • mfcing
  • mfcing
  • 2015年01月22日 17:53
  • 11040

vs2010的“运行库”选项对动态库堆的影响

最近在做一个项目,用到了json,IDE使用vs2010。 json用起来还算顺手,只是项目用到了多个动态库,而每个动态库都要用json,所以就想把json封装成一个单独的库供其它动态库来调用。 ...
  • jszj
  • jszj
  • 2015年01月27日 16:24
  • 2214

C#程序运行不了CLR20R3解决方法

c#应用程序在有些环境下能打开,但有些又打不开,更悲催的是同一个应用程序不同时间编译在同一个环境下即然一个能运行一个不能运行,打开事件日志看到两个错误: 错误日志1: Application: X...
  • baronyang
  • baronyang
  • 2017年07月22日 00:32
  • 1778

系统启动时至少产生一个程序错误

  • 2013年07月04日 15:34
  • 134B
  • 下载

系统启动时至少有一个服务或驱动程序产生错误

  • 2012年02月18日 14:20
  • 131KB
  • 下载

解决2003在系统启动时至少有一个服务或驱动程序产生错误

  • 2009年07月14日 13:54
  • 222B
  • 下载

Expression: _CrtIsValidHeapPointer(pUserData) 问题!

编译通过 再debug下运行时出现 Expression: _CrtIsValidHeapPointer(pUserData)的问题,调到release下顺利运行,图片显示正常。     原...
  • fovfans
  • fovfans
  • 2011年08月25日 15:31
  • 1283

系统启动时至少有一个服务或驱动产生错误

  • 2011年11月04日 01:21
  • 468B
  • 下载

hive CLI启动时报错:

hive CLI启动时报错:(hadoop-2.5.2 + HIVE 1.1.0) root@ubuntu:/hadoop-2.5.2/etc/hadoop# hive Logging i...
  • lz_1992
  • lz_1992
  • 2016年02月25日 21:44
  • 307

redis-cli启动时可以带的参数

本文所有内容是从https://redis.io/topics/rediscli来的 1.直接使用redis-cli来使用命令 redis-cli get name #返回name的值 redis-...
  • u014034934
  • u014034934
  • 2017年06月13日 08:59
  • 221
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++/CLI程序启动时_CrtIsValidHeapPointer(pUserData)错误
举报原因:
原因补充:

(最多只允许输入30个字)