内部实现
SymView是基于微软的DIASDK开发的。DIASDK是Debug Interface Access SDK的简称。以Visual Studio 2005为例,DIASDK默认被安装在如下目录中:
c:\Program Files\Microsoft Visual Studio 8\DIA SDK
使用DIA组件的方法与使用其它COM组件一样,先要初始化COM支持库,然后创建接口的实例,即:
hr = CoInitialize(NULL); // Obtain Access To The Provider hr = CoCreateInstance(__uuidof(DiaSource),//CLSID_DiaSource, NULL, CLSCTX_INPROC_SERVER, __uuidof(IDiaDataSource), (void **) &m_pDiaDataSource); if(hr != S_OK) { Msg(L"CoCreateInstance failed - HRESULT = %x\n",hr); return hr; }
描述符号的主要接口是IDiaSymbol,它有上百个属性,对应于不同的符号信息。MSDN中描述了DIA接口,尽管不够详尽,但是涵盖了几乎所有接口。
|