我正在将一些C#演示代码从命令窗口应用程序迁移到WPF应用程序。演示代码正在访问包装的非托管C ++库。该库由第三方提供,因此我无权访问该代码。
虽然演示代码运行正常,但一段时间后,我的WPF应用程序中完全相同的代码崩溃了。访问该库,加载了一些配置文件但是当我调用某个方法时,我的应用程序抛出了一个错误(我必须启用“Unmanaged Code Debuggin”才能看到它):
First-chance exception at 0x7726c41f in Application.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x279ce1b4..
SCAPE exception caught: bad allocation
这是引发错误的部分:
unsafe
{
fixed (S_DATA* pim = &_im)
{
bool success = false;
try
{
success = RunAnalytics(_im); // <--- returns false, error message in debugger
}
catch (Exception ex)
{
throw new ScrException("ERROR: Unmanaged exception", ex);
}
}
}
两个应用程序都在“.NET Framework 4.0 Client Profile”上运行。
任何提示如何从这里开始?我没有想法......
修改 我花了最后几天设置不同的场景试图弄清楚,问题的根源是什么。
我真的不是更聪明......
编辑2:经过很长一段时间我发现它 - 一个构建后的脚本干扰了一些彼此重复复制的本地资源,因此我使用的是过时的配置带有一些新设置的文件...不是一个非常令人满意的解决方案。