使用库方法时.NET应用程序关闭时没有错误

时间:2014-04-16 16:00:11

标签: c# c++ visual-studio-2012 dll poco-libraries

我有一个C ++ DLL库。我正在使用.NET Framework 4.0的C#项目测试DLL。在C ++ DLL中我使用了一些库,比如POCO,Boost,ODBC,SQLite,SOCI ......

在我决定用POCO替换SOCI接口以减少库中加载的库数量之前,它做得很好。

我编译了PocoData,PocoDataODBC,并将它们与标题一起添加到项目中。项目编译好,创建DLL,DLL通过 Dependency Walker 测试。

但是当使用.NET项目中的DLL时会发生一些奇怪的事情。当执行包含Poco::Data部分的DLL方法以连接数据库时,应用程序才会关闭。

没有抛出异常或错误。甚至没有“应用程序刚刚从Windows崩溃”。它只是停止运行,Visual Studio恢复正常,就像它正确结束一样。

我隔离了错误,并且使用任何使用或在PocoData库内调用来执行此错误。我可以使用该库,直到它尝试使用任何调用此方法的方法。例如:

Session session("ODBC", conn);

甚至仅此一点:

Poco::Data::RecordSet rs();

因此,每当C#调用一个包含DLL中Poco::Data的任何内容的方法时,它都会失败。

知道会发生什么事吗?


当应用程序出错时,Windows事件会记录一些内容,我不知道它是否相关。它引发了两个事件,第一个是相同值(奇怪)之间的系统小时变化,类型:Kernel-General

第二个(大约10秒后)是Service Control ManagerInformation

  

服务Windows错误报告服务在运行状态下进入。

0 个答案:

没有答案