Rufen Sie in "MDbg Sample.zip" -Projekten die Funktion vom COM-Modul wie folgt auf: [ComImport, Guid ("3D6F5F61-7538-11D3-8D5B-00104B35E7EF"), InterfaceType ((kurz) 1) ] public interface ICorDebug {...} Die Frage ist, wo die Guid ("3D6F5F61-7538-11D3-8D5B-00104B35E7EF") zu finden ist, ich kann es nicht im regedit finden, aber wie man die ICoreDebug Schnittstelle mit dem COM verbindet Modul?So rufen Sie ICorDebug auf
-1
A
Antwort
1
Es ist nicht in der Registrierung. Diese GUID ist die IID, ICorDebug unterstützt keinen Remotezugriff, daher gibt es keinen Grund, einen Stub/Proxy für die Schnittstelle zu registrieren.
Wie Sie eine Instanz erhalten, hängt davon ab, welche Versionen der Laufzeit installiert sind, aber heutzutage hat "Jeder" CLRv4 installiert, sodass Sie über den ICLRMetaHost zugreifen können.
- Verwenden CLRCreateInstance eine Implementierung von ICLRMetaHost
- Verwenden ICLRMetaHost erhalten die ICLRRuntimeInfo für die gewünschte Version der Laufzeit zu finden.
- Verwenden Sie ICLRRuntimeInfo.GetInterface, um eine Implementierung von ICorDebug mit CLSID_CLRDebuggingLegacy anzufordern.
Verwandte Themen
- 1. So rufen Sie Monitor.TryEnter auf
- 2. So rufen Sie Destructor
- 3. So rufen Sie NetworkStream.Read() ohne Blockierung auf?
- 4. So rufen Sie setNeedsDisplayInRect mit performSelectorOnMainThread auf?
- 5. So rufen Sie NetSuite-Restlets extern auf?
- 6. So rufen Sie unique() auf dask DataFrame
- 7. So rufen Sie eine Funktion mehrmals auf?
- 8. So rufen Sie eine Vorlagenmethode auf?
- 9. So rufen Sie JavaScript in XML auf?
- 10. So rufen Sie die Supermethode auf?
- 11. So rufen Sie Thickbox mit JavaScript auf
- 12. So rufen Sie UDF in DataStage auf?
- 13. So rufen Sie Attributwerte zu JavaScript auf
- 14. So rufen Sie das SSIS-Paket auf
- 15. So rufen Sie die validateValue-Methode auf
- 16. So rufen Sie ein Bool auf Knopfdruck
- 17. So rufen Sie ViewChild in Runtime auf?
- 18. So rufen Sie DeviceIOControl-Code asynchron auf?
- 19. So rufen Sie Path.Combine von MSBuild auf?
- 20. So rufen Sie ein Array auf?
- 21. So rufen Sie die geschützte Funktion auf?
- 22. So rufen Sie Aktionen zwischen Klassen auf?
- 23. So rufen Sie den Hintergrundthread auf
- 24. So rufen Sie die WCF-URL auf?
- 25. So rufen Sie den Assembler auf
- 26. So rufen Sie Stored Procedure asynchron auf?
- 27. So rufen Sie eine externe Funktion auf?
- 28. So rufen Sie ein Fragment auf oder rufen es auf, wenn Sie auf klicken.
- 29. So rufen Sie onSaveInstanceState() manuell
- 30. Android - So rufen Sie Wechselkurse
Vielen Dank! –
Hallo @Brian Reichle, habe ich entsprechend Ihren Aufforderungen programmiert: hr = pRuntimeInfo-> GetInterface (CLSID_CLRRuntimeHost, IID_PPV_ARGS (& pRuntimeHost)); hr = pRuntimeInfo-> GetInterface (CLSID_CLRRuntimeHost, IID_ICLRRuntimeHost, (LPVOID *) & pRuntimeHost); Aber wenn ich den Code debugge, gibt es eine Benachrichtigung als: Es gibt keine Typinformation in der Symboldatei für. Weißt du, wie man dieses Problem löst? Danke vielmals. –
Ich bin nicht wirklich sicher, was du meinst, aber 'CLSID_CLRRuntimeHost' sieht fehl am Platze aus. (ICLRRuntimeHost ist, was Sie verwenden, um eine Laufzeit in Ihrem Prozess zu hosten, es wird normalerweise nicht zum Erstellen eines ICorDebug verwendet) –