在调试不同的 dll 期间显示地图的内容
Posted
技术标签:
【中文标题】在调试不同的 dll 期间显示地图的内容【英文标题】:Show content of map during debugging a different dll 【发布时间】:2016-04-04 14:04:11 【问题描述】:我有一个包含多个类和 dll/exe 的程序:
在 dll 中,我有一个映射,其中包含从其他 dll 和 exe 访问的多个对象。
使用地图调试 dll 时,我可以看到内容:
在其他 dll 中调试期间,我看不到地图的内容(仅...):
我是否遇到无法导出 STL 类 (C4251) 的 Microsoft 问题?我正在使用 Visual Studio 2015 Update2
你会如何处理这个问题?最后,我希望有一个存储库,其中包含不同的对象及其之间的父/子关系。在调试过程中到处查看关系会很有帮助。
【问题讨论】:
【参考方案1】:我能够通过为所有缺失类型添加模板实例化来解决我的问题。这些必须在没有 declspec(dllexport) 或 extern 的情况下编写,所以现在我有一堆
template class std::unordered_map<const Parent*, std::vector<Child*>>;
在我的 Repo.h 中。我还必须将 /bigobj 添加到 cl.exe
【讨论】:
以上是关于在调试不同的 dll 期间显示地图的内容的主要内容,如果未能解决你的问题,请参考以下文章
仅在调试期间在 C++ 中初始化 matlab-compiler dll / lib 时访问冲突
这种情况一直在发生 - 在 Visual Studio 2019 中的 .NET Core 3.1 调试会话期间找不到 Microsoft.Data.SqlClient.resources.dll