Скачайте WinDBG и посмотрите примеры SDK, в частности пример dumpstk, который показывает, как открыть файл аварийного дампа и распечатать стек вызовов.Джерри описал это правильно, вы вызываете DebugCreate для создания экземпляра IDebugClient, и оттуда вы можете создавать экземпляры других классов для выполнения действий, связанных с отладкой.
Из примера:
void
CreateInterfaces(void)
{
HRESULT Status;
// Start things off by getting an initial interface from
// the engine. This can be any engine interface but is
// generally IDebugClient as the client interface is
// where sessions are started.
if ((Status = DebugCreate(__uuidof(IDebugClient),
(void**)&g_Client)) != S_OK)
{
Exit(1, "DebugCreate failed, 0x%X\n", Status);
}
// Query for some other interfaces that we'll need.
if ((Status = g_Client->QueryInterface(__uuidof(IDebugControl),
(void**)&g_Control)) != S_OK ||
(Status = g_Client->QueryInterface(__uuidof(IDebugSymbols),
(void**)&g_Symbols)) != S_OK)
{
Exit(1, "QueryInterface failed, 0x%X\n", Status);
}
}
-Скотт