【发布时间】:2012-11-12 10:09:42
【问题描述】:
我是 COM 新手,在调试 dll 时遇到问题。在这段代码中:
_Check_return_ HRESULT CoCreateInstance(_In_ REFCLSID rclsid, _In_opt_ LPUNKNOWN pUnkOuter = NULL, _In_ DWORD dwClsContext = CLSCTX_ALL)
throw()
{
ATLASSERT(p == NULL);
return ::CoCreateInstance(rclsid, pUnkOuter, dwClsContext, __uuidof(T), (void**)&p);
}
作为回报,我有错误 R6034:应用程序试图错误地加载 C 运行时库。
另外:在 VS 2008 的输出窗口中,我注意到调试在某些消息处停止:
'OmpClimApp.exe': Loaded '\\omegaserver\omega\app32\OMEGA.DLL\RWUXThemeS.dll', Binary was not built with debug information.
哪里出错了?
【问题讨论】:
-
错误告诉你RWUXThemeS.dll是在没有调试信息的情况下构建的,你不能调试到这个库中。你能跳过这个电话而不是介入吗?
-
“应用程序试图错误地加载 C 运行时库”可能表明缺少 crt dll 或混合调试/发布运行时。使用 Dependency Walker 找出问题所在。
-
如果我跳过我得到错误应用程序试图错误地加载 C 运行时库。
-
依赖步行者。唔。我试试
-
DLL 未正确构建,它缺少所需的清单。您需要从 DLL 所有者那里获得帮助。