原文:c# “XXX::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。

症状描述如下: 如果将一个委托作为函数指针从托管代码封送到非托管代码,并且在对该委托进行垃圾回收后对该函数指针发出了一个回调,则将激活 callbackOnCollectedDelegate 托管调试助手 MDA 。 原因描述如下: 从其创建函数指针并将创建的函数指针公开给非托管代码的委托已被垃圾回收。当非托管组件尝试对该函数指针发出调用时,会产生访问冲突。 一旦将委托作为非托管函数指针封送出去, ...

2013-10-16 12:37 1 4997 推荐指数:

查看详情

C#调用C++函数,类型垃圾回收委托进行了回调

由于项目需要,C#需要调用C++的库进行编程. 今天在调试的过程中,突然弹出 ....... 类型垃圾回收委托进行了回调这可能会导致应用程序崩溃损坏和数据丢失。向非托管代码传递委托托管应用程序必须让这些委托保持活动状态直到确信不会再次调用它 ...

Thu Apr 12 06:45:00 CST 2018 0 1229
正尝试在 OS 载入程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内执行托管代码,这样做会导致应用程序挂起。

出错提示: 正尝试在 OS 载入程序锁内执行托管代码。 不要尝试在 DllMain 或映像初始化函数内执行托管代码,这样做会导致应用程序挂起。 原因分析: .NET2.0中添加了42种非常强大的调试助手(MDA。Loaderlock 是当中之中的一个 ...

Fri Apr 01 00:16:00 CST 2016 0 2878
C#托管代码非托管代码

了解C#.NET应用程序中的托管代码非托管代码 当我们使用VisualStudio并使用任何支持DotNet的编程语言(如 C#、VB 等)在DotNet中创建任何exe(即控制台应用程序、窗口应用程序、类库项目等)或 Web 应用程序(即 ASP.NET MVC、Web API ...

Mon Sep 21 20:51:00 CST 2020 0 1267
c#托管代码非托管代码的理解

理解托管非托管代码的前提之下,要先了解CLR(公共语言运行库) .Net Framework 是由彼此独立又相关的两部分组成:CLR 和 类库, CLR是它为我们提供的服务,类库是它实现的功能. .NET的大部分特性----垃圾收集,版本控制,线程管理等,都使用了CLR提供的服务 ...

Thu Oct 26 05:47:00 CST 2017 3 1967
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM