【发布时间】:2023-03-09 01:46:01
【问题描述】:
我有一个使用共享 MFC DLL (MFC140UD.DLL) 的 MFC 项目。
我想将调试版本中的跟踪级别设置为 4 级,以获取有关消息泵送的更多信息。
但是在我的代码中使用CTrace::SetLevel,只是在我的个人模块(我的 EXE 文件)中设置 CTrace 对象的调试级别。 CTrace 声明为 __declspec(selectany)。在 MFC140UD.LIB 的导出符号中,我看不到 CTrace 类或其成员的导出。
所以使用CTrace::SetLevel 对MFC 核心MFC140UD.DLL 没有影响。我总是必须在 atltrace.h 中设置断点,并且需要在调试器中修改静态 m_nLevel 值。
有什么技巧可以从我的外部 MFC EXE 访问 MFC 核心 DLL 中的 CTrace::m_nLevel 值吗?
注意:旧的 AtlTraceTool 也不再工作和支持。
【问题讨论】:
-
也许this issue 会有所帮助。
-
没有。这不包括我的问题,我知道如何使用跟踪的东西。如果我使用 MFC 的静态链接,一切都会好起来的。但我将 MFC 用作共享 DLL。
标签: debugging mfc visual-studio-2019