c++ - 如何抑制“module_attach”/“module_detach”调试器日志
问题描述
我有一个与 DLL 接口的 Qt 应用程序。UI 是动态的并显式加载 DLL(使用LoadLibrary()
),然后此 DLL 隐式加载其他 DLL。
在没有调试的情况下运行程序时,一切似乎都很好。但是当我附加一个调试器(在本例中为 CDB)时,标准输出中充斥着这样的行:
@{module_attach|051D0000| 17| 0| 0|295|051EA40F| 18|C:\Users\XXX\YYY.dll:15|24|28|32|36|40|49|53}@
@{module_detach|051D0000:15}@
其中 YYY.dll 是我的程序加载的 DLL。它使调试非常缓慢,最终导致它崩溃。编写的 DLL 通常是程序使用的 2 或 3 个 DLL,但并不总是相同的(而且它永远不会显示所有加载的 DLL 的消息)。
是调试器问题还是我做错了什么?
一些精确性:Qt 应用程序是用 C++ 编写的,并且使用LoadLibrary()
. DLL 是用 C 语言编写的,并且只使用隐式加载。在加载的 6 个 DLL 中,一个是由 Qt 应用程序加载的,其余的是隐式加载的。只有一个 DLL 有一个 DLLMain,如果这有区别的话。
解决方案
推荐阅读
- c++ - 如何重置传递给类构造函数的值?
- c - 适用于 Apple Silicon 的 GTK+
- mysql - 是否有 sql 代码可以插入到不使用 ID 或日期的特定范围/行间隔中?
- powershell - 为什么不能使用 VariablesToExport 导出 PowerShell 模块中的变量成员?
- python - 如何在pyspark中进行不等式过滤
- avplayer - AVPlayer:从 aac 文件中提取定时元数据
- python - DATA DUPLICADA EN CREACION DE REPORTE AUTOMATICO USANDO OPENPYXL
- sql - 使用 Django Admin 多对多内联视图的 SQL 查询过多
- rust - 当类型似乎匹配时,如何解决不匹配的类型错误?
- azure - 尝试在 Azure 云中创建 VM 时,区域选择显示为灰色