libpqxx在DEBUG模式下抛出异常

libpqxx throws an exception during DEBUG mode

本文关键字:抛出异常 模式 DEBUG libpqxx      更新时间:2023-10-16

我有一个使用libpqxx的MFC项目。

发布模式正常工作。但是当我切换到调试模式时,它显示了一个异常,并说Debug断言:

最有趣的事情是,如果我使用共享DLL而不是静态(当然调试)它的工作原理!

基本上,Debug with Static Library显示了这个异常/错误。如果我切换到共享DLL,它再次工作。当然,我可以使用共享作为调试和静态作为发布,但这是正确的事情?

注:本项目为基础和新鲜。我没有从配置管理器更改任何配置。

任何建议吗?

好吧,我不确定libpqxx是否使用MFC(以及哪一个?)。我怀疑您正在从一个堆中分配一些内存,并从另一个堆中取消分配。混合MFC版本,以及MFC的静态/非静态混合都会导致这种断言。

不要将其视为在发布版本中工作 !它只是没有为自己辩护(即现在显示任何断言消息)。最好的办法是找到这个问题的原因,首先是查找调用堆栈(在这个断言对话框上点击Retry)。

看,如果libpqxx依赖于MFC,或者它不允许混合静态版本的MFC。您可以查看libpqxx的文档,和/或使用Dependency Walker查看库是否使用MFC。