A callback was made on a garbage collected delegate of type...

最近在调试海康SDK时,遇到了标题写的这个错误。

A callback was made on a garbage collected delegate of type 'XXX.CHCNetSDK+RemoteConfigCallback::Invoke'.

Visual Studio 调试模式下,显示 你的应用进入了中断状态,但当前未执行任何受选定调试引擎支持的代码(例如,仅在执行本机运行时代码)。“System.ExecutionEngineException”类型的未经处理的异常在 未知模块。 中发生,完全无法看出问题的原因。

后查到 https://stackoverflow.com/questions/44546875/getting-the-error-a-callback-was-made-on-a-garbage-collected-delegate-of-type,了解到是因为在调用海康SDK时,传入了一个回调函数,此回调函数会在调用完SDK时自动释放掉,所以SDK在回调过程中报错。

知道了原因,就好修改了,声明一个全局的委托变量来作为回调函数就可以了。

你可能感兴趣的:(C#,c#,Windows,海康)