Требуется помощь для DIA SDK & DbgEng - PullRequest
0 голосов
/ 10 июня 2009

Являются ли DIA SDK & DbgEng (не DbgHelp) и API на основе COM, и на основе DbgHelp?

Если это так, как я могу вызвать API DbgEng из приложения C #. Я могу импортировать библиотеку DIA в проект C #, используя файл idl (tlibimp для сгенерированного файла tlib), но DbgEng не имеет никакого файла IDL.

Я видел неполную упаковку для DbgEng который вручную оборачивает API с помощью Managed C ++, но пропускает многие функции. Могу ли я импортировать DbgEng.DLL в C # автоматически без написания какой-либо управляемой оболочки?

Во-вторых, позволяет ли DIA SDK присоединять процесс и исследовать память (и, возможно, оценивать выражение), например, DbgEng, или это просто получение символов из файла pdb? Пока единственный пример, который я получил, это Dia2dump, который анализирует только файл pdb.

Ответы [ 2 ]

1 голос
/ 10 июня 2009
  1. DIA SDK предназначен только для символов, не устраняющих неполадки, это все, что не связано с DbgHelp.dll
  2. DbgEng.dll имеет некоторый интерфейс COM API, но только для того, чтобы получить эти интерфейсы, вам нужно только сделать некоторые интерфейсы, лучше в вашем случае обернуть то, что вам нужно, с помощью Managed C ++ или представить его через COM с помощью C ++.
0 голосов
/ 10 июня 2009

И наоборот - dbghelp основан на DIA.

...