CoCreateInstance(CLSID_CorDebug)失败,出现0x80131701:无法在运行时中找到所需的导出

时间:2015-02-19 15:03:18

标签: .net debugging unmanaged

我正在尝试为.NET框架编写一个非托管调试器,但是当我尝试获取核心ICORDebug接口的实例时,我得到了CoCreateInstance返回值的运行时故障。我做错了什么?

CComPtr<ICorDebug> debug;
HRESULT hr;    
hr=debug.CoCreateInstance(CLSID_CorDebug,NULL,CLSCTX_INPROC_SERVER);
//hr=0x80131701

1 个答案:

答案 0 :(得分:0)

.NET的执行引擎返回以0x8013开头的错误代码。详细信息如下:http://blogs.msdn.com/b/yizhang/archive/2010/12/17/interpreting-hresults-returned-from-net-clr-0x8013xxxx.aspx

您的特定代码与“未找到导出”有关,这可能对非托管C ++编码器更有意义。

我不明白为什么你不能写一个非托管程序来调试托管的.NET,虽然这听起来像是额外的努力。 ICorDebug无论如何都是一个COM接口,所以如果您的调试器是管理的,那么您将学到很多关于COM Interop的知识。 : - )