Sind DIA SDK & DbgEng (nicht die DbgHelp) sowohl COM-basierte API und auf DbgHelp?Hilfe benötigt für DIA SDK & DbgEng
Wenn ja, wie kann ich DbgEng API von einer C# -Anwendung aufrufen. Ich kann die DIA-Bibliothek in C# -Projekt mit Idl-Datei (Tlibimp für generierte Tlib-Datei) importieren, aber DbgEng hat keine IDL-Datei.
Ich habe einen unvollständigen Wrapper für DbgEng gesehen, der die API mit Managed C++ manuell umschließt, aber viele der Funktionen vermisst. Kann ich DbgEng.DLL in C# automatisch importieren, ohne einen verwalteten Wrapper zu schreiben?
Zweitens, erlaubt DIA SDK einen Prozess anzuhängen und Speicher zu untersuchen (und möglicherweise einen Ausdruck auszuwerten), wie DbgEng oder es ist nur, um die Symbole aus der PDB-Datei zu bekommen? Bis jetzt habe ich nur Dia2dump, das nur die PDB-Datei analysiert.
nicht wahr, zumindest nicht direkt (sie verwenden möglicherweise die gleiche Code-Basis), aber Sie können DbgHelp auf Systemen ohne DIA SDK verwenden –
Es ist wahr, dass dbghelp.dll nicht (dynamisch) gegen msdia80.dll, aber verlinkt dbghelp entweder statisch gegen DIA oder benutzt die gleiche Codebasis: Vergleichen Sie einfach die Ausgabe von x msdia80! * Dia * und x dbghelp! * Dia * und sehen Sie, was ich meine. –